0

感谢帮助,我让幻灯片正常工作。我需要它,以便 .file-options 将保持切换,直到鼠标移离 .file div 而不是 .file img。当您将鼠标悬停在 pdf 图像http://jsfiddle.net/5vAFh/上时,您可以看到这里发生了什么

<div class="file">
    <a href="#"><img src="{$assets_url}img/file-icons/doc.png" alt=""></a>
    <div class="file-options showhouse-text">
        <a href="#" onclick="return confirm('Are you sure you want to delete this file?');" class="show-tooltip" data-html="true" data-placement="top" data-original-title="Delete File"><i class="icon-trash"></i></a>
        <a href="#" class="show-tooltip" data-html="true" data-placement="top" data-original-title="Edit File"><i class="icon-edit"></i></a>
    </div>
</div>


$('.file-options').hide();
$('.file img').mouseover(function(){
  $(this).closest('.file').find('.file-options').slideDown();
});
$('.file').mouseout(function(){
  $(this).find('.file-options').slideUp();
});
4

2 回答 2

2

您需要遍历树。先找file,再找孩子:

$('.file-options').hide();
  $('.file img').hover(
    function() {
      $(this).closest(".file").find('.file-options').slideToggle();
    }, function() {
      $(this).closest(".file").find('.file-options').slideToggle();
    }
);

或者,如果您知道 DOM 不会更改,请获取 parent a,然后获取 parent div

$(this).parent().parent().find(".file-options");
于 2013-10-09T08:38:25.910 回答
0

尝试这样的事情

    $('.file-options').hide();
      $('.file img').hover(
        function() {
          $(this).next('.file-options').slideToggle();
        }, function() {
          $(this).next('.file-options').slideToggle();
        }
    );
于 2013-10-09T08:44:18.130 回答