jQuery首先悬停并悬停在第二位

时间:2013-11-07 03:47:08

标签: jquery

当我将鼠标悬停在first上时,它会显示Second

如果我然后将鼠标悬停至SecondSecond将保持显示,否则隐藏Second

我的问题是在悬停first和悬停Second之间隐藏Second太快了。

如何在将鼠标悬停至$(".second").hide("slow" );之前延迟second

  $(".first").hover(
    function(){
      $(".second").show();
    },
    function(){
      $(".second").hide("slow" );
    }
  );

 $(".second").hover(
   function(){
     $(".second").show();
   },
   function(){
    $(".second").hide("slow" );
   }
 );

2 个答案:

答案 0 :(得分:3)

解决方案是使用setTimeout()

的计时器
var $second = $(".second");
$(".first").hover(function () {
    clearTimeout($second.data('timer'));
    $second.stop(true, true).show();
}, function () {
    var timer = setTimeout(function () {
        $second.stop(true, true).hide("slow");
    }, 200);
    $second.data('timer', timer);
});

$(".second").hover(function () {
    clearTimeout($second.data('timer'))
    $second.stop(true, true).show();
}, function () {
    $second.stop(true, true).hide("slow");
});

演示:Fiddle

答案 1 :(得分:0)

$( "#clickme" ).click(function() {
$( "#book" ).hide( "slow", function() {
alert( "Animation complete." );
});
});