JQuery fadeIn Delay FadeOut

Я пытаюсь исчезнуть в div, держать его на экране в течение нескольких секунд, а затем исчезать. Проблема в том, что он не остается на экране, пока я ожидаю, даже устанавливая задержку на 10 секунд, он остается на экране ненадолго. Я прочитал много сообщений и пробовал много вещей, таких как setimeout, но я никуда не бываю.

Здесь мой script:

    <script type="text/javascript">
    function pageLoad() {
    $("[id*=lnkSelect]").live("click", function () {
    var price = $("#price").html($(".prodprice", $(this).closest('tr').prev().children   ('td.prodpricelabel')).html());
    var code = $("#code").html($(".prodcode", $(this).closest('tr').prev().prev().children ('td.prodcodelabel')).html());
    //Build the new HTML
    $(code).prepend("<br/>Item: ");
    $(code).append("<br/>Has been<br/>added to your cart.<br/>Price: ");
    $(".tooltipleft").html(code); //Set the new HTML
    $(".tooltipleft").append(price);
    $(".tooltipleft").fadeIn('slow').delay(5000).fadeOut('slow');
    });
    };
    </script>

Итак, я получаю код продукта и цену из html, изменяя html в div, затем затухая это в качестве уведомления о добавлении элемента в корзину.

Это div, который я хочу затухать:

    <div class="tooltipleft" id="tooltip">
    <span id="code"></span><span id="price"></span>
    </div>

и кнопка в сетке:

    <asp:ImageButton ID="lnkSelect" runat="server" ImageUrl="~/Buttons/add_to_cart.png"
    AlternateText="Add To Cart" CommandArgument='<%# Eval("ProductID") %>' CommandName="Add"
    ImageAlign="Right" />

Спасибо за любую помощь или комментарии.

веселит CM

Ответ 1

выполните примерно следующее: http://jsfiddle.net/LJsNG/1/

$(function () {
  $('.tooltipleft').fadeIn('slow', function () {
    $(this).delay(5000).fadeOut('slow');
  });
});

Ответ 2

Используйте show и hide вместо fadeIn и fadeOut, чтобы увидеть, работает ли это. Если он не работает, ваша проблема находится где-то в другом месте. Как вы видите, этот рабочий пример $('#foo').fadeIn().delay(2000).fadeOut(); является правильной строкой кода.

$('#tooltipleft').show(0).delay(5000).hide(0);