在行动发生之前制造延迟

时间:2014-10-28 20:38:33

标签: jquery

我希望在鼠标进入元素超过1/2秒之后向下滑动一个元素。我正在使用延迟功能,但它似乎只是延迟了事件,而不是等待分配的时间。

$('#cart_nav2').mouseenter(function(){
    $('#cart_contents').stop(true,true).delay(500).slideDown();
});
$('#cart_nav2').mouseleave(function(){
    $('#cart_contents').hide();
});

所以我只希望#cart_contents显示鼠标在cart_nav2上的时间超过500毫秒。这是怎么做到的?

1 个答案:

答案 0 :(得分:3)

试试这个:

$('#cart_nav2').mouseenter(function() {
    $('#cart_contents').stop(true, true).delay(500).slideDown();
});
$('#cart_nav2').mouseleave(function() {
    $('#cart_contents').stop().hide(); //this will stop your prior function from continuing
});