Hover上的Jquery Toggle()

时间:2015-05-12 19:28:53

标签: jquery css

好的,所以我搜索并尝试了几个例子,但没有一个有效。我正在使用Jquery toggle()在点击时显示DIV。它工作正常,除了我想在悬停时显示它并保持打开如果鼠标指针在Div内。

这是我的代码:

Jquery的:

$(function() {
    $('#HCLink').click(function() {
        $('.HCContent').toggle('slow');
        return false;
    });
});

HTML:

<li><a href="#" id="HCLink">HEATING & COOLING | </a> </li>
<div class="HCContent" style="display:none;">
    <p>Div Content...</p>
</div>

尝试将.click更改为.hover,但无法正常工作。

4 个答案:

答案 0 :(得分:1)

在容器LI元素上设置mousenter / mouseleave,例如使用hover()输入/输出处理程序:

$("li").hover(function () {
     $(".HCContent").stop().toggle("slow");
});

-jsFiddle-

答案 1 :(得分:0)

使用hide / show代替:

$(function() {
    $('#HCLink').on('mouseover', function() {
        $('.HCContent').show('slow');
        return false;
    });
    $('#HCLink').on('mouseout', function() {
        $('.HCContent').hide('slow');
        return false;
    });

});

小提琴:

http://jsfiddle.net/brettwgreen/2b7xL51m/

答案 2 :(得分:0)

你可以试试这个;

http://jsfiddle.net/redeown5/2/

您可以将mouseleave事件用于父元素。

答案 3 :(得分:0)

看看。

$("#HCLink").on("mouseenter",function(){
    $(".HCContent").show("slow");
});

http://jsfiddle.net/tk5rr4bb/1/

注意使用mouseenter而不是mouseover

原因:https://stackoverflow.com/a/7286680/2956107