我正在尝试做一些我不知道该怎么做的事情,但是我知道可以做到的。有2个div,它们都可扩展浏览器窗口的整个宽度,高度均为450px。因此,基本上是在另一个块之上。我想在这两个之间插入一个div,将其悬停在顶部Div(按钮或其他按钮)上的内容即可显示出来。悬停项目将在顶部div的底部。

但是我需要中间div保持活动状态,同时将其内容悬停在...上方。

jQuery是什么样的?到目前为止,这就是我所拥有的。

    <script type="text/javascript">
        $(document).ready(function() {
            $("#toggleh1").hover(function() {
                 $(".header2").slideDown(400);

            }, function() {
                 $(".header2").slideUp(400);
            });
        });
    </script>


谢谢

最佳答案

最好的选择是使用超时而不是.hover()

$(document).ready(function() {
    var t; // This will be a timeout
    $('#toggleh1').mouseover(function() {
        if (t)
        {
            clearTimeout(t);
        }

        $('.header2').slideDown(400);
    }).mouseout(function() {
        t = setTimeout(function() {
            $('.header2').slideUp(400);
        }, 500); // .5 second delay before hiding
    });

    $('.header2').mouseover(function() {
        if (t)
        {
            clearTimeout(t);
        }
    }).mouseout(function() {
        t = setTimeout(function() {
            $('.header2').slideUp(400);
        }, 500); // .5 second delay before hiding
    });
});


为了进一步说明,将鼠标悬停在触发元素上时,将显示div。当鼠标离开触发元素时,浏览器将开始0.5秒倒计时。如果到达该倒数结束,div将被隐藏。如果在倒数计时结束之前,将鼠标悬停在触发器或div本身上,则倒计时将停止。如果您的鼠标离开div,则将重新开始倒数计时。

请注意,您可能想玩.mouseover()与.mouseenter()以及.mouseout()与.mouseleave()

关于jquery - jQuery Slider问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3215960/

10-10 01:17