Как удалить элемент ПОСЛЕ ТОГО, КАК анимация завершается?

существует программа, названная средством просмотра экспорта dll, которое можно использовать: http://www.nirsoft.net/utils/dll_export_viewer.html

6
задан Zuul 25 October 2012 в 12:55
поделиться

3 ответа

animate требует еще 2 параметра, поэтому вы можете сделать:

$("a.shift")
    .click(function() 
        {
            $("#introOverlay")
                .animate({height: 0}, 2000,"linear",function()
                    {
                        $(this).remove();
                    }
                )
        }
    );

Непроверено.

РЕДАКТИРОВАТЬ: Протестировано: вот полная страница, которую я использовал, которая расширяется до 300 пикселей, делает удаление более очевидно:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript">
            //<![CDATA[
            $(document).ready(function()
            {
                $(".shift").click(function() 
                {
                    $("#introOverlay")
                    .animate({height: 300}, 2000,"linear",function()
                    {
                        $(this).remove();
                    })
                });
            });
            //]]>
        </script>
    </head>
    <body>
    <a class="shift" href="javascript:void(0)">clickme</a>
    <div id="introOverlay" style="background-color:red;height:200px;">overlay</div>
    </body>
</html>
9
ответ дан 10 December 2019 в 00:41
поделиться

JQuery animate (params, [duration], [easing], [callback]) предлагает возможность добавить обратный вызов, который вызывается каждый раз, когда анимация завершается

обратный вызов (необязательно) Функция: A функция, которая будет выполняться всякий раз, когда анимация завершается, выполняется один раз за каждый элемент анимируется.

Синтаксис в значительной степени прост в jQuery:

<script>
$(function() {
    $("a.shift").click(function() {
        $("#introOverlay").animate({
        height: 0,
        }, 2000, "linear",
            function() {
                $("#introOverlay").hide();
            }
        )
        });

    })
</script>

См. также этот вопрос SO

2
ответ дан 10 December 2019 в 00:41
поделиться

Используйте window.timeout с тем же временем, что и анимация.

-2
ответ дан 10 December 2019 в 00:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: