很抱歉我必须问这个,因为这里有很多类似的问题,但我找不到我的问题的解决方案。我使用 setTimeout,它适用于所有浏览器、chrome、ff 以及 IE9 及更高版本。但是在IE8中,超时后应该执行的内容不起作用。我希望有一天能帮助我...
var searching = {
initialize: function (config) {
this.wait(config.time);
},
wait: function(time) {
setTimeout(function(){
$("#example-div").hide;
}, time);
}
}
$("#example-submit").click(function() {
searching.initialize({time: 4000});
}
原因:您的脚本中存在错误,当错误在 setTimeout/setInterval 中时,其他浏览器会继续执行脚本
在IE的情况下,这不会发生。
因此,要么你应该修复你的代码,要么把你的代码包装在try{...}catch(e){...}
块中。
代码几乎是正确的。你错过了一些偏执
:.HTML:
<div id="example-div">example-div</div>
<div id="example-submit">example-submit</div>
.JS:
var searching = {
initialize: function (config) {
this.wait(config.time);
},
wait: function(time) {
setTimeout(function(){
$("#example-div").hide();
}, time);
}
}
$("#example-submit").click(function() {
searching.initialize({time: 4000});
});
小提琴:http://jsfiddle.net/t6NEQ/2/