JavaScript突然出乎意料

时间:2015-04-18 04:25:58

标签: javascript jquery css wordpress timeout

我在主题选项页面中成功使用了以下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或任何其他值, 消息des不再消失,需要很长时间才能显示出来。

有没有人知道这可能是什么?

我甚至试过了一个临时版的选项页面。

它可能会突然停止工作,甚至是浏览器交叉?

我还尝试了MAMP Restar,新文件夹,全新安装...

我真的希望有人可以帮我把它放在这里:)

1 个答案:

答案 0 :(得分:3)

尝试将setTimeout("jQuery('#saveMessage').hide('slow');", 5000);更改为setTimeout(function() { jQuery('#saveMessage').hide('slow'); }, 5000);