长期以来,我在主题选项页面中成功使用了以下 JavaScript 函数。 它确实通过 JavaScript 保存了 WP 主题选项,并在保存后在我的屏幕上显示了一条消息。
突然间,如果我更改超时设置(值),消息要么根本不显示,要么显示但不再隐藏。
这是我的 JavaScript:
<!--Include AJAX save message + styles-->
<div id="saveResult"></div>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#myOptionsForm').submit(function() {
jQuery(this).ajaxSubmit({
success: function(){
jQuery('#saveResult').html("<div id='saveMessage'class='successModal'></div>");
jQuery('#saveMessage').append("<p><?php echo htmlentities(__('Settings Saved Successfully','wp'),ENT_QUOTES); ?></p>").show();
}, timeout: 5000
});
setTimeout("jQuery('#saveMessage').hide('slow');", 5000);
return false;
});
});
</script>
这是根据CSS:
.successModal {
display: block;
position: fixed;
top: 35%;
left: 20%;
border-radius: 50% !important;;
width: 123px;
height: 153px;
padding: 5px 20px;
background-image: url("Smile-success.png");
z-index:1002;
overflow: auto;
background-position: center center;
background-repeat: no-repeat;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
-moz-box-shadow: 5px 5px 10px #cfcfcf;
-webkit-box-shadow: 5px 5px 10px #cfcfcf;
}
这一切都非常有效,直到我将整个主题上传到 GitHub,然后再回到我的电脑。
从那时起,即使是 MAC Time Capsule Backup 也无法解决问题。
问题,如果我将超时:5000 更改为(之前是可能的) 超时:2000 或任何其他值, 消息不再消失,需要很长时间才能显示。
有没有人知道这可能是什么?
我什至尝试了选项页面的临时版本。
它突然停止工作,甚至跨浏览器,这可能是什么问题?
我也试过 MAMP Restar、新文件夹、新安装...
我真的希望有人能帮我把这里放在这里:)
最佳答案
尝试将 setTimeout("jQuery('#saveMessage').hide('slow');", 5000);
更改为 setTimeout(function() { jQuery('#saveMessage ').hide('slow'); }, 5000);
关于JavaScript 突然出乎意料,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29712861/