Javascript 横向动画和设置间隔()
我需要用Javascript启动、停止和重新启动一个横向动画,通过一些搜索,我发现JqueryJavascript 横向动画和设置间隔(),javascript,performance,animation,setinterval,Javascript,Performance,Animation,Setinterval,我需要用Javascript启动、停止和重新启动一个横向动画,通过一些搜索,我发现Jqueryanimate()需要一个插件来执行启动-停止-重新启动,但我不会使用插件来完成这项工作(不用问“为什么不?”) 所以,我问我:“为什么不使用setInterval()来做这个横向动画,并用clearInterval()停止它呢?” 这是我的代码,是正确的还是一个疯狂的浏览器工作?我需要建立一个“效率”(在浏览器工作方面)脚本,但我不是最好的。发发慈悲吧 window.newsflash.interva
animate()
需要一个插件来执行启动-停止-重新启动,但我不会使用插件来完成这项工作(不用问“为什么不?”)
所以,我问我:“为什么不使用setInterval()
来做这个横向动画,并用clearInterval()停止它呢?”
这是我的代码,是正确的还是一个疯狂的浏览器工作?我需要建立一个“效率”(在浏览器工作方面)脚本,但我不是最好的。发发慈悲吧
window.newsflash.interval = setInterval(function() {
if(liWidthTot + $('.fn_container ul').css("left") <= 0)
$('.fn_container ul').css('left', containerWidth);
$('.fn_container ul').css("left", "-=1px");
},10);
//handler
$("#xml").on({
mouseenter: function(){
clearInterval(window.newsflash.interval);
},
mouseleave: function(){
window.newsflash.interval = setInterval(function() {
if($('.fn_container ul').css("left") - liWidthTot <= 0)
$('.fn_container ul').css('left', containerWidth);
$('.fn_container ul').css("left", "-=1px");
},10);
}
});
window.newsflash.interval=setInterval(函数(){
if(liwidthttot+$('.fn_容器ul').css(“左”)setInterval
是制作动画的一种完全合法的方法。但是使用jQuery的animate
方法来启动、停止和重新启动动画也很容易。在我看来,两种解决方案的性能大致相同,但由您决定哪种语法更简单
就性能而言,您要做的主要事情是确保保存对jQuery对象的引用,而不是重新蚀刻它们。您会注意到,在我的示例中,我将引用保存到ul
,如下所示:
var $ul = $('.fn_container ul');
…这样就不必一次又一次地取
还有:你可以考虑查看CSS3动画以获得更平滑的外观。你甚至可以使用一些类似的东西来支持JQuery动画语法。< /P>查看这个性能测试(比较JS原生StTealStand和jQuery动画):THX……是我想知道的。
var $ul = $('.fn_container ul');