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);
}

现在,它出现一瞬间然后消失?

基本上我希望在调用某个类时出现一个栏,10 秒后我希望它出现,slideUp但是如果在超时之前从另一个函数再次调用它。我想重置计时器并更改消息/类并再保持 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 回答