0

我有一个附加了悬停方法的项目,当你悬停它时,它会在它上面显示另一个 div ......不幸的是,一旦上面的 div 显示它就会重做动作(因为我添加了相同的类让它实际粘住大约)

$(document).ready(function(){

    $(".cartHover").hover(
      function () {
        $("#uniquename4").fadeIn();
      }, 
      function () {
        $("#uniquename4").fadeOut();
      }
    );
  });

所以我有一个<div class="cartHover">悬停显示<div id="uniquename4" class="cartHover">,但它会淡入两次。请帮忙!

4

3 回答 3

2

那么拥有以下内容不是更好吗:

CSS

<div id="someID" class="cartHover">
  <div id="someId" class="showMe">
  </div>
</div>

<div id="someID" class="cartHover">
  <div id="someId" class="showMe">
  </div>
</div>

jQuery

$(function(){
  $('.cartHover').mouseenter(function(){
    $(this).find('.showMe').show();
  }).mouseleave(function(){
    $(this).find('.showMe').hide();
  });
});
于 2009-09-16T23:02:44.747 回答
2

如果您不希望动画提示叠加在您身上,您还需要在其中包含一个 .stop() :

$(function(){
  $('.cartHover').mouseenter(function(){
    $(this).find('.showMe').stop().show();
  }).mouseleave(function(){
    $(this).find('.showMe').stop().hide();
  });
});
于 2012-01-27T19:51:18.173 回答
1

简单的回答。看看你在这里做什么。你有两个 div 类,cartHover。因此,悬停第一个 div 会导致 #uniquename4 显示。显示 uniquename4 后,如果将其悬停,它会再次淡入。这一切都与您的选择器有关,您将悬停事件绑定到具有类 cartHover 的所有元素实例——此选择包括默认可见的 div 和悬停时显示的 #uniquename4。我会建议类似:

<div id="showSomething" class="cart-class">Content</div>
<div id="toBeShown" class="cart-class">Content</div>

$(document).ready(function() {
    $('#showSomething').hover(
         function() {
            $('#toBeShown').fadeIn();
         },
         function() {
             $('#toBeShown').fadeOut();
         }
     );
});
于 2009-09-16T23:05:34.600 回答