Вопрос: Заменить изображение текстом после 5 секунд задержки


Цель
Замените один div другим после 5 секундной задержки с помощью jQuery.

Описание
Я хотел бы показать изображение в 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>

Заранее спасибо.


3


источник


Ответы:


Вот Демо-ссылка: 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);
     });

надеюсь, это полезно для вас.


1



Попробуй это:

<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>

4



Если ваша проблема заключается в том, что текст будет отображаться только после исчезновения изображения, то вот опция, которая избавляет вас от необходимости выполнять любую работу JavaScript с текстовым контейнером.

Просто расположите контейнер изображения над текстом и исчезните, как вы уже, так:


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/


1