我在我的网站上创建了一个类似于指南针的功能,但它指向菜单项。我正在使用 jQuery 旋转插件。
但是,当我第一次加载该网站时,指南针工作得很好,但转了几圈后它开始跳跃而不是流畅的动画。
每次转换完成后,我都会清除元素的队列,因为这似乎使它平滑了一点,但它仍然会跳过。任何人都知道是什么原因造成的?刷新页面后,它再次正常工作。
编辑:抱歉,代码当然会有帮助。 http://sitetest.kdmdesign.net
最佳答案
这种情况在任何 jQuery 动画中经常发生,其中动画触发器可以在短时间内连续触发很多次 — 使用 stop() 是一个很好的安全网,但它通常仍然不够。
我会“节流”事件以阻止它频繁触发。 Ben Alman wrote an excellent explanation of throttling作为他同样excellent jQuery plugin的序言用于节流和去抖。
哦——和...
您的代码特别慢的一个原因是每次用户将鼠标悬停在内页包装器上时,事件处理程序都会重新附加(并且永远不会分离)。我在这里调整了它:
关于jQuery Rotate 在几次使用后滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13799813/