0

当我将鼠标悬停在 上时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" );
   }
 );
4

2 回答 2

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");
});

演示:小提琴

于 2013-11-07T03:51:57.543 回答
0
$( "#clickme" ).click(function() {
$( "#book" ).hide( "slow", function() {
alert( "Animation complete." );
});
});
于 2013-11-07T03:54:21.843 回答