Javascript 如何确保我的事件始终在jQuery中触发?[悬停回调未触发]
我有一个BG图像动画,它依赖于Javascript 如何确保我的事件始终在jQuery中触发?[悬停回调未触发],javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个BG图像动画,它依赖于悬停回调来恢复到原始状态。如果我在链接上快速移动鼠标,悬停状态将保持不变。我的猜测是,我在第一个动画完成之前将鼠标移开,因此回调不会注册 有没有更可靠的方法来编写这个函数 $('.nav li a').hover(function() { $(this).addClass('hovered', 300); }, function() { $(this).removeClass('hovered', 300); }); (它使用支持add/remov
悬停
回调来恢复到原始状态。如果我在链接上快速移动鼠标,悬停状态将保持不变。我的猜测是,我在第一个动画完成之前将鼠标移开,因此回调不会注册
有没有更可靠的方法来编写这个函数
$('.nav li a').hover(function() {
$(this).addClass('hovered', 300);
}, function() {
$(this).removeClass('hovered', 300);
});
(它使用支持add/removeClass上的速度参数)
此处可测试:addClass方法中的300值是多少?它不需要两个参数。。只有一个Api参考: (好的,注意到插件) 它对我很管用。。无论我移动鼠标的速度有多快,所有链接都会恢复为其原始图像 更新 好的,我现在明白问题了
- Chrome还可以(似乎是唯一一款)
- Firefox显示了这个问题
- IE显示了问题所在
Api参考: (好的,注意到插件) 它对我很管用。。无论我移动鼠标的速度有多快,所有链接都会恢复为其原始图像 更新 好的,我现在明白问题了
- Chrome还可以(似乎是唯一一款)
- Firefox显示了这个问题
- IE显示了问题所在
很抱歉,我无法在这方面提供更多帮助。这是一个常见的问题,恐怕无法解决,这取决于浏览器是否能够跟上事件的发展,如果浏览器无法跟上,那么您就倒霉了 不过,这也可能是jQuery的错。很难说不深入源代码。无论如何,有一个简单的解决方法:
$('.nav li a').hover(function() {
// When element is hovered, remove hovered state from all elements..
$('.hovered').removeClass('hovered');
// ..and add it to this one.
$(this).addClass('hovered', 300);
}, function() {
// This is only needed when exiting an element and not enterin another one
$(this).removeClass('hovered', 300);
});
这可能不是百分之百确定的,但比您当前的情况要好。这是一个常见问题,恐怕无法解决,这取决于浏览器是否能跟上事件的发展,如果不能,那么您就走运了 不过,这也可能是jQuery的错。很难说不深入源代码。无论如何,有一个简单的解决方法:
$('.nav li a').hover(function() {
// When element is hovered, remove hovered state from all elements..
$('.hovered').removeClass('hovered');
// ..and add it to this one.
$(this).addClass('hovered', 300);
}, function() {
// This is only needed when exiting an element and not enterin another one
$(this).removeClass('hovered', 300);
});
这可能不是100%确定的,但它比您当前的插件要好。请参阅我对该插件的评论。我添加了一个链接。链接是否为您上下滚动?他们不粘吗?重击。我试过FF3和Safari4,如果我跑得快的话,它们都能坚持。谢谢IE测试;我在OSX上。请看我对插件的评论。我添加了一个链接。链接是否为您上下滚动?他们不粘吗?重击。我试过FF3和Safari4,如果我跑得快的话,它们都能坚持。谢谢IE测试;我在OSX上。这对我来说是个好的开始,谢谢。我还将时间转换加快到1/10秒(100秒),所以发生这种情况的可能性较小。这两个变化使它更加实用;谢谢。这对我来说是个好的开始,谢谢。我还将时间转换加快到1/10秒(100秒),所以发生这种情况的可能性较小。这两个变化使它更加实用;谢谢