最近做了一个网页,用到了animate的动画效果,点击连接就滚动屏幕到相应的位置,可是前几次点击没有问题,随着点击次数的增多,动画响应越来越慢,到后来点击一次要等好几秒才开始滚动,最后我找到了原因,动画没有播放结束,队列越来越长导致的。
解决办法: $(‘body‘).stop().animate({scrollTop:aaa},300);在animate前加一个stop即可停止当前动画清空队列马上执行新的动画。
附上stop();的使用方法:
stop([clearQueue], [gotoEnd])
概述 停止所有在指定元素上正在运行的动画。
如果队列中有等待执行的动画(并且clearQueue没有设为true),他们将被马上执行。
参数
clearQueue (可选)Boolean如果设置为true,则清空队列。可以立即结束动画。
gotoEnd (可选)Boolean让当前正在执行的动画立即完成,并且重设show和hide的原始样式调用回调函数等。
解决点击多次jquery动画animate反应迟钝的问题,古老的榕树,5-wow.com