0
function loader_bar(msg,msgtype) {


      switch (msgtype) {
        case 'error':
            $class = 'bar_error topbar'
            break;
        case 'success':
            $class = 'bar_success topbar'
            break;
        case 'working':
            $class = 'topbar'
            msg = 'Spinner ' + msg
            break;
        default:
            $class = 'topbar'
            msg = msg
            break;
      }

     if ($("#loader_bar").is(":visible")) {
         $("#loader_bar").removeClass()
         clearInterval(int);
         $("#loader_bar").html(msg).addClass($class);
    } else {
      $('<div />', { "class": $class, html: msg, "id" : "loader_bar" }).prependTo("body").slideDown('fast');    
    }

      myTimer = setInterval($("#loader_bar").slideUp('fast'), 10000);
}

今、それは一瞬現れてから消えますか?

基本的に、バーを呼び出したときに特定のクラスでバーを表示したいのですがslideUp、タイムアウト前に別の関数から再度呼び出された場合は、10 秒後に表示したいのです。タイマーをリセットしてメッセージ/クラスを変更し、さらに 10 秒間維持したい...

4

1 に答える 1

1
myTimer = setInterval($("#loader_bar").slideUp('fast'), 10000);

する必要があります

myTimer = setInterval(function() { $("#loader_bar").slideUp('fast'); }, 10000);

実行するステートメントは関数内にある必要があります。そうしないと、すぐに呼び出されます。

于 2012-11-11T17:47:37.577 に答える