首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jQuery显示和隐藏setTimeout

使用jQuery显示和隐藏setTimeout
EN

Stack Overflow用户
提问于 2013-04-25 22:50:52
回答 2查看 2.2K关注 0票数 1

我有一个大的,我想在加载时显示,然后让它超时以显示较小的图像。然后在鼠标上,使用jQuery在大图中滑动,在鼠标上滑出大图并在小图中滑动。这是我的代码,它只做mouseover,mouseout函数。我需要它从显示5秒的大的开始,然后滑到小的。:

代码语言:javascript
运行
复制
<script type="text/javascript">   
    $(document).ready(function () {
        $(".expanded").show();
        $(".collapsed").hide();


        $(".collapsed").mouseover(function () {
            $(".collapsed").slideUp(500);
            $(this).next(".expanded").slideToggle(500);
        });

        $(".expanded").mouseleave(function () {
            $(".expanded").slideUp(500);
            $(".collapsed").slideDown(500);      
        });  
    });
</script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-25 23:02:06

我将创建一个全局变量"readyforHovering“,它将被设置为false,直到超时到期,例如:

代码语言:javascript
运行
复制
var readyforHovering = false;



$(document).ready(function () {

setTimeout(function() {
  //Code to hide the large image and show the smaller image goes here

  //Now enable hovering...
  readyforHovering = true;
}, 5000);

        $(".expanded").show();
        $(".collapsed").hide();
        //toggle the componenet with class msg_body
        $(".collapsed").mouseover(function () {
            if (readyforHovering) {
               $(".collapsed").slideUp(500);
               $(this).next(".expanded").slideToggle(500);
            }
        });

        $(".expanded").mouseleave(function () {
            if (readyforHovering) {
               $(".expanded").slideUp(500);
               $(".collapsed").slideDown(500);
            }

               });

    });

您不希望用户在5秒过期并显示较小的图像之前无法悬停……这就是readyforHovering变量的意义所在。

票数 0
EN

Stack Overflow用户

发布于 2013-04-25 23:05:43

试试这个:

代码语言:javascript
运行
复制
$(document).ready(function () {
    setTimeout(function(){
        toggleImage($(".expanded"));
    },5000);

    $(".collapsed").hide();

    //toggle the componenet with class msg_body
    $(".collapsed").mouseover(function () {
        toggleImage($(".collapsed"));
    });

    $(".expanded").mouseleave(function () {
        toggleImage($(".expanded"));
    });


});

function toggleImage(img) {
    $(img).slideUp(500, function() {
        $(this).siblings("img").slideToggle(500);
    });

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

https://stackoverflow.com/questions/16218021

复制
相关文章

相似问题

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