我必须在点击按钮时隐藏一些小节,这是代码
$('#myButton').on('click', function (event){
event.preventDefault();
$('#panel').hide();
$('#header').hide();
setTimeout(function(){ $('#sub-section').attr('style','display:none;'); }, 100);
});
在最后一个语句中,如果我删除函数集超时,则在#sub-section
上未设置display attribute to none。我刚才知道了这里settimeout的实际需求。它也可以在没有settimeout的情况下工作。
如果函数hide
花费太多时间执行,我已尝试
$('#panel').attr('style','display:none;');
$('#header').attr('style','display:none;');
$('#sub-section').attr('style','display:none;');
但也没有用。只在第3个陈述。
答案 0 :(得分:0)
在这种情况下,display: none
将在100
毫秒后应用于您的元素。 我认为这样做是因为上面你已经调用hide
函数2次,这个函数将使用动画,这需要一些时间。因此,hide
函数将完成大约less or equal to 100 milliseconds
而不是display: none
将被应用
答案 1 :(得分:0)
我希望你能在这里找到答案。并且还可以更改时间值并观察输出,然后您就会明白了。
[http://jsfiddle.net/mxgtaLzw/2/]
没有功能:
[http://jsfiddle.net/mxgtaLzw/3/]