3

目标
使用 jQuery 延迟 5 秒后将一个 div 替换为另一个。

描述
我想在一个 div 中显示一个图像 5 秒,然后它应该被另一个 div 中的文本替换。

HTML 代码

<div id="outer">Image here</div>
<div id="text">Text here</div>

jQuery 代码

<script type="text/javascript">
    $(document).ready(function()
    {
        setTimeout(function()
        {
            $("div#outer").fadeOut("slow", function ()
            {
                $("div#outer").remove();
            });
         }, 5000);
     });
</script>

提前致谢。

4

3 回答 3

4

尝试这个:

<script type="text/javascript">
        $(document).ready(function()
        {
            setTimeout(function()
            {
                $("div#outer").fadeOut("slow", function ()
                {
                    $("div#outer").hide();
                    $("div#text").show();
                });
             }, 5000);
         });
    </script>

或者,如果您实际上是在尝试将包含的文本移动div text到中div outer,请执行以下操作:

<script type="text/javascript">
            $(document).ready(function()
            {
                setTimeout(function()
                {
                    $("div#outer").fadeOut("slow", function ()
                    {
                        $("div#outer").html($("div#text").html()); //.html or .text
                    });
                 }, 5000);
             });
        </script>
于 2012-05-11T07:09:02.110 回答
1

如果您的问题是仅在图像消失后才显示文本 - 那么这里有一个选项可以让您不必对文本容器执行任何 JavaScript 工作。

只需将图像容器放在文本上,然后像现在一样淡出,如下所示:


​<strong>JavaScript

$(function() {
    setTimeout(function()
    {
        var $el = $('div#outer');        
        $el.fadeOut("slow", $el.remove);
     }, 5000);
});​

HTML

<div class="transition-wrapper">
    <div id="outer">Image here</div>
    <div id="text">Text here</div>
</div>

​CSS

请注意,此处的颜色仅用于说明

.transition-wrapper {
    position: relative;    
    width: 500px;
    height: 500px;
}
#outer {
    position:absolute;
    z-index: 100;
    width: 500px;
    height: 500px;
    background: red;
}
#text {
    background: blue;
    height: 100%;
    width: 100%;
}

JSFiddle

http://jsfiddle.net/mJUzr/

于 2012-05-11T07:15:00.467 回答
1

这是演示链接:http: //jsfiddle.net/pHJgP/8/

HTML 代码:

<div id="outer"><img src="http://existdissolve.com/wp-content/uploads/2010/08/microsoft-logo-64x64.png" alt="" /></div>
<div id="text" style="display:none">Text here</div>

jQuery代码:

$(document).ready(function()
    {
        setTimeout(function()
        {
            $("div#outer").fadeOut("slow", function ()
            {
                $("div#outer img").remove();                
                $("div#outer").html($("div#text").text());
                $("div#outer").show();
            });
         }, 5000);
     });

希望这对你有帮助。

于 2012-05-11T07:22:49.680 回答