4
A
回答
4
Live Demo(除去一堆用于测试目的列表项)
,因为我敢肯定不使用暂停/恢复插件这是造成这个问题。它所做的只是停止悬停的动画,并在离开时重新开始动画。由于您已经将动画设置为基于当前位置,因此它将恢复正常。
编辑 修复了每次悬停时动画变慢的问题。现在应该完美地工作,而不管它循环的时间。
var vox_news = 0;
$('.voxNews li').each(function() {
vox_news += $(this).outerWidth(true);
});
$('.voxNews').parent().append($('.voxNews').clone());
function setupNews(w) {
function phase1() {
var voxNews = $('.voxNews').first(),
curMargin = voxNews.css('margin-left').replace("px", ""),
animSpeed = (w*20) - (Math.abs(curMargin)*20);
voxNews.animate({'margin-left' : '-' + w + 'px'}, animSpeed, 'linear', phase2);
}
function phase2() {
$('.voxNews').first().css({'margin-left' : '0px'});
phase1();
}
$('.voxNews li a').hover(function() {
$('.voxNews').stop();
}, function() {
phase1();
});
phase1();
}
setupNews(vox_news);
+0
很好,谢谢! – Sparkup
0
我想你应该这样定义一个全局布尔变量:
var isAnimating = false;
然后控制基于该变量的动画。例如:
animateNews() {
if (isAnimating) {
//list animation
}
}
listResume() { isanimating = true; }
listPause() { isanimating = false; }
和动画会是这样:
window.onload = function() { var t = setTimeout("animateNews", 40); }
我不会使用jQuery的那一个,因为jQuery使用很少的CPU,如果你还开始制作动画的东西,你愿意需要它,如果你想顺利增长盒子或幻灯片图片(画廊,或类似的东西)。
0
相关问题
- 1. jQuery Cycle在暂停时不能恢复
- 2. 暂停/恢复jquery .animate()?
- 3. 暂停jQuery悬停(鼠标悬停)
- 4. jquery暂停悬停滑块
- 5. jquery滑块暂停悬停
- 6. 在Ajax Quick Cart悬停时暂停setInterval,并在没有时恢复?
- 7. 问题在暂停/恢复定时器
- 8. 在鼠标悬停暂停jquery动画
- 9. 暂停和恢复jQuery的动画?
- 10. 暂停/恢复动画与jQuery周期
- 11. 线程暂停/停止活动恢复
- 12. 在悬停时暂停Twitter Bootstrap标签
- 13. 如何在悬停时暂停setInterval
- 14. 暂停和恢复流
- 15. 暂停和恢复方法
- 16. 暂停和恢复线程
- 17. 暂停和恢复BackgroundWorker
- 18. 暂停和恢复AsyncTasks? (Android)
- 19. Cocos2d引擎 - 暂停,恢复
- 20. 暂停/恢复线程?
- 21. 暂停和恢复的NSTimer
- 22. 暂停和恢复SKScene
- 23. 暂停和恢复ASINetworkQueue
- 24. 暂停和恢复功能
- 25. WebRTC暂停和恢复流
- 26. 暂停/恢复任务
- 27. Android应用暂停恢复
- 28. Android暂停/恢复服务
- 29. NSThread暂停和恢复
- 30. jQuery在鼠标悬停时暂停延迟计时器
使用jquery委托。 – tjameson
它的插件绝对是.pause .resume的一些东西。 – Loktar