我有这个代码,它在我正在处理的网站上打开一个篮子预览.如果用户徘徊在它上面它会保持打开状态,但我希望它在触发我的悬停的回调之前有两秒钟的延迟.这是为了防止用户不希望鼠标离开篮子区域.
以下是我用来为篮子制作动画的代码:
$('.cart_button,.cart_module').hover(function(){ $(".cart_module").stop().animate({top:'39px'},{duration:500}); },function(){ $('.cart_module').stop().animate({top: -cartHeight},{duration:500}) });
这是我试图使用的代码,但没有影响:
$('.cart_button,.cart_module').hover(function(){ $(".cart_module").delay().animate({top:'39px'},function(){ $('.cart_module').delay().animate({top: -cartHeight},{duration:500}) });
解决方法
我总是在核心setTimeout和clearTimeout js函数的帮助下管理这类事情.
看一下jquery.hoverIntent plugin,它会让你在悬停和退出事件时超时