Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 延迟悬停法_Jquery_Hover_Delay - Fatal编程技术网

Jquery 延迟悬停法

Jquery 延迟悬停法,jquery,hover,delay,Jquery,Hover,Delay,大家好,我想在这个函数中延迟悬停方法 $(document).ready(function(){ $(".wypWedkarskie li").filter(":odd").hide().end().filter(":even").hover( function () { $(this).toggleClass("active") .next().stop(true, true).slideToggle(); }); }); 我需要做什么???更正的代码低于水平规则

大家好,我想在这个函数中延迟悬停方法

$(document).ready(function(){
$(".wypWedkarskie li").filter(":odd").hide().end().filter(":even").hover(
  function () {
    $(this).toggleClass("active")
      .next().stop(true, true).slideToggle();
  });
});

我需要做什么???

更正的代码低于水平规则

使用jQuery的函数。这将在执行之后调用的任何方法之前等待一段时间。例如:

$(this).delay(1000).toggleClass("active")
      .next().stop(true, true).slideToggle();
将等待1秒的延迟,然后切换
活动
类,停止下一个兄弟的动画,依此类推


编辑:Doh!我误解了jQuery的
延迟
。然后,您可以使用
setTimeout()

$(document).ready(function(){
    $(".wypWedkarskie li").filter(":odd").hide().end().filter(":even").hover(function () {
        el = this;
        setTimeout(function() {
            $(el).toggleClass("active")
                .next().stop(true, true).slideToggle();
        }, 1000);
    });
});
退房。是一个插件,它试图确定用户是想将鼠标放在某个元素上,还是只是将鼠标放在该元素上


祝你好运

如果要在悬停中延迟操作,可以使用javascripts添加x秒的延迟

尝试此操作,它将隐藏列表中的所有奇数项,然后向所有偶数项添加悬停效果,悬停后将立即切换活动类,两秒钟后将切换下一个对象:

你可以看到一个正在工作的人


更新:

这应该给你我相信你想要的东西
它会立即突出显示您悬停的项目。2秒后,如果您仍然悬停,它将显示第2项。一旦你停止悬停,它将隐藏第二项。如果在2秒钟前停止悬停,则第2项将不会显示:

$(".wypWedkarskie li").filter(":odd").hide().end().filter(":even").hover(
    function() {
        var obj = $(this);
        var nextObj = obj.next();
        obj.addClass("active");
        setTimeout(function() {
            if (obj.hasClass('active')) {
                nextObj.slideDown();
            }
        }, 2000);
    },
    function() {
        var obj = $(this);
        var nextObj = obj.next();
        obj.removeClass('active');
        nextObj.slideUp();
    }
);

看一个工作的

我知道这一点,但我不知道如何将它和它结合起来,因为它是自己工作的。difrentIt没有什么不同。正如您在插件的演示中所看到的,它取代了悬停。您可以用与使用悬停相同的方式使用它。但似乎你需要一些不同的东西。你为什么不解释一下你想用更多的细节做什么?我有一个列表
  • ,我想在mouseover/mouseout
  • 的时候显示/隐藏
  • 我不知道如何断线,延迟是什么意思?除非用户在元素上停留最短的时间,或者只是在触发回调之前等待一段时间,否则不要触发悬停,但是如果用户的鼠标悬停了一瞬间,仍然会触发回调?我认为您不理解它是做什么的。它不会延迟链接的方法,而是添加已链接到对象的延迟。在一个小型演示中,演示了延迟的作用。希望能有帮助。很抱歉。我发布了一个使用setTimeout()的更正版本的代码。我想我想做你刚写的事情,但我不想,我想延迟所有函数而不仅仅是。悬停部分你想延迟所有函数吗?请你再解释一下好吗?你的意思是你不想在页面加载后的某个时间设置悬停效果吗?例如,我想在鼠标滑过“li:event”元素5秒后触发整个函数,并在鼠标滑过“li:event”元素时立即触发它,这样当我鼠标滑过2秒时它根本不会触发。你太棒了,这是很大的帮助,非常感谢
    $(".wypWedkarskie li").filter(":odd").hide().end().filter(":even").hover(
        function() {
            var obj = $(this);
            var nextObj = obj.next();
            obj.addClass("active");
            setTimeout(function() {
                if (obj.hasClass('active')) {
                    nextObj.slideDown();
                }
            }, 2000);
        },
        function() {
            var obj = $(this);
            var nextObj = obj.next();
            obj.removeClass('active');
            nextObj.slideUp();
        }
    );