每 1 秒显示和隐藏一个 div
2015-06-19
73
嗨,我想显示一个 div 并隐藏 1s 并循环此代码:
<div>Flashing</div>
<script>
$(document).ready(function(){
hide();
function show(){
setTimeout(function(){
$('div').show();
}, 2000);
hide();
}
function hide(){
setTimeout(function(){
$('div').hide();
}, 2000);
show();
}
});
</script>
但是浏览器给我一个错误: 错误:
Uncaught RangeError: Maximum call stack size exceeded
3个回答
最好使用 jquery/ 的
.toggle()
方法
setInterval(function(){
$('div').toggle();
}, 1000);
Varun
2015-06-19
您的显示和隐藏函数调用不在函数的异步部分,导致无限循环。将您的调用放在计时器事件内:
$(document).ready(function(){
hide();
function show(){
setTimeout(function(){
$('div').show();
hide();
}, 2000);
}
function hide(){
setTimeout(function(){
$('div').hide();
show();
}, 2000);
}
});
Karl-André Gagnon
2015-06-19
尝试一下
$(document).ready(function(){
function toggleDiv() {
$('div').toggle();
setTimeout(function(){toggleDiv();}, 1000);
}
toggleDiv();
});
Nikhil Aggarwal
2015-06-19