jQuery的停止功能不正常工作
问题描述:
我创建这个函数显示分度函数调用,但我NEDD执行此功能和展后停在一秒钟:与repit_clouds功能jQuery的停止功能不正常工作
<script>
function repit_clouds(request)
{
if (request=='no')
{
stop();
}
else
{
if (request=='ok')
{
var interval = setInterval(function() {
$("#header_sun").fadeIn(4000);
$("#header_sun").fadeOut(4000);
},10000);
}
}
}
$(document).ready(function()
{
$("#header_sun").fadeIn(4000).delay(4000).fadeOut(4000);
repit_clouds('ok');
$("#header_background_clouds").fadeOut(2000).css("display","#none");
$("#header_background_night").fadeIn(2000).css("background","#000").show(4000).fadeIn(2500);
repit_clouds('no');
});
</script>
问题it's,当我送价值没有功能必须停止,但没有工作正常,并继续仿佛request==ok
,我不知道为什么没有停止
答
嗯,你有什么感想究竟stop()
呢?您是否意思是:
$('#header_sun').stop()
哪个会暂停该元素上的任何现有动画?
还是你或许也想停止间隔定时器:
clearInterval(interval);
,当然这也需要interval
声明之外的功能所以它的值在每次调用时不会丢失功能。
我也注意到你的.css()
功能将不会受到.fadeOut()
或.show()
呼叫排队 - .css()
不是一个动画功能,因此这些修改会立即发生。
同样的两次调用repit_clouds()
不会被排队或者 - 如果你希望那些后进行以前的动画,那么你就需要调查jQuery的.queue()
功能,或在“动画完成回调”触发它们。
+0
只有我想停止功能不再 – user2174831 2013-03-22 14:57:00
你读过['.stop()'](http://api.jquery.com/stop/)的工作方式吗?阅读文档! – epascarello 2013-03-22 14:00:39
@ mt.VVoo不错的格式化 - 耻辱的OP的代码可能根本没有格式化;-) – Alnitak 2013-03-22 14:01:19
1负面?为什么? – user2174831 2013-03-22 14:57:25