首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >悬停函数的jQuery setTimeout

悬停函数的jQuery setTimeout
EN

Stack Overflow用户
提问于 2014-02-27 13:18:53
回答 2查看 1.2K关注 0票数 0

我的.hover函数工作得很好,但是现在.hover函数需要等待2秒才能启动,但是有些东西没有用我的代码。

JS码

代码语言:javascript
复制
setTimeOut(function(){
        $('#sectionNews').hover(
            function() {
                
                    $(this).find('.underlay_wrapper').animate({
                        height: '85px', opacity: '1'
                    }, 1000 );
                
            },function() {
                $(this).find('.underlay_wrapper').animate({
                    height: '0px', opacity: '0'
                },500);

            }
        );
    }, 200);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-27 13:21:53

如果要在悬停后2秒启动悬停代码,则必须将setTimeout放入悬停状态。

代码语言:javascript
复制
var tOut = null;
$('#sectionNews').hover(function () {
   var $this=$(this);
  tOut=  setTimeout(function () { //Here
        $this.find('.underlay_wrapper').animate({
            height: '85px',
            opacity: '1'
        }, 1000);
    }, 2000);
}, function () {
    var $this = $(this);
    clearTimeout(tOut);
    setTimeout(function () {//here also if you want it to setTimeout when hover out
        $this.find('.underlay_wrapper').animate({
            height: '0px',
            opacity: '0'
        }, 500);
    }, 2000);
});

更新

您可以使用.delay(2000)代替setTimeout来制作动画元素。

代码语言:javascript
复制
$('#sectionNews').hover(function () {
        $(this).find('.underlay_wrapper').delay(2000).animate({
            height: '85px',
            opacity: '1'
        }, 1000);
}, function () {
        $(this).find('.underlay_wrapper').delay(2000).animate({
            height: '0px',
            opacity: '0'
        }, 500);
});

DEMO

票数 0
EN

Stack Overflow用户

发布于 2014-02-27 13:24:02

试着像这样

代码语言:javascript
复制
$('#sectionNews').hover(function () {
        var a = setInterval(function () {
            $(this).find('.underlay_wrapper').animate({
                height: '85px', opacity: '1'
            }, 1000);
            clearInterval(a);

        }, 2000);
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22069750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档