Укажите задержку, когда текст не задан - PullRequest
0 голосов
/ 14 сентября 2011

Я подготовил небольшой фрагмент кода, который работает совершенно отлично - за исключением того, что я хотел бы устранить паузу при установке текста в пустую строку (между «Привет мир» и «Привет вселенная»).

Кто-нибудь может понять, как?Должен признать - я не ...: - (

Песочница здесь

    <!-- Put the notificationBar somewhere in your HTML -->
    <div id="notificationBar"></div>

    /* whatever you want it to look like - keep the display: none; */
    #notificationBar {
        display: none;
        padding: 1em;
        border-radius: 5px;
        background-color: red;
        color: white;
    }

JQuery

    // Set it up!
    var notificationTextToggeled = 0; // Always 0
    var notificationDelay = 2000; // Whatever delay you want, in ms (1000 = 1 sec)

    // Here goes your code... intersperse it with notification messages you 
    // want to present to the user... just like below
    notificationToggle ('Hello World');
    notificationToggle ('');
    notificationToggle ('Hello Universe');
    notificationToggle ('Hello Superman');
    notificationToggle (''); 

    // This function will do all the displaying and  will keep an eye 
    // on not waving too many messages to the user in too short time:
    // Each (not empty) message text will be displayed for at least the delay time
    function notificationToggle (text) { 

        var know = $.now(); 

        if (text != $('#notificationBar').html().length && know < (notificationTextToggeled + notificationDelay ))
            $('#notificationBar').delay(notificationDelay, "fx");

        $('#notificationBar').text().length 
            $('#notificationBar').slideUp('slow'); 

         $.queue($("#notificationBar")[0], "fx", function () { 
             $(this).html(text); 
             $.dequeue(this);      
         });

         if (text) 
             $('#notificationBar').slideDown('slow'); 

         notificationTextToggeled = know;   

    }

1 Ответ

0 голосов
/ 14 сентября 2011

Нет необходимости устанавливать текстовую строку пустой, привет вселенная просто заменяет все это вместе.Пауза вызвана полным вращением ''

http://jsfiddle.net/DRLgE/11/

...