2014-07-06 73 views
0

我試圖延遲這個插件中的addclass函數,但它不工作。我在.addClass函數之前添加了.delay(14000)delay addclass - jquery

代碼:

if (typeof a.cookieguard.displayMessage === "undefined") { 
    a.cookieguard.displayMessage = function (b, c) { 
     a("body").delay(14000) 
       .addClass("cookie-guard") 
       .attr("marginTop", a("body").css("marginTop")) 
       .css("margin", 0) 
       .delay(b).animate({ 
         marginTop: a(".cookie-guard-msg").outerHeight() 
        }, a.cookieguard.settings.slideSpeed); 

     a(".cookie-guard-msg").css("top", -a(".cookie-guard-msg").outerHeight()); 

     a(".cookie-guard-msg").delay(b) 
           .show() 
           .animate({top: 0}, a.cookieguard.settings.slideSpeed); 

     if (a.cookieguard.settings.messageHideDelay != null) { 
      a.cookieguard.settings.messageHideTimeout = setTimeout(function() { 
       a.cookieguard.hideMessage(0) 
      }, c) 
     } 
    } 
} 

我在做什麼錯?

回答

4

jQuery的.delay()只適用於使用jQuery效果隊列的調用(就像常用的動畫一樣)。

要做到什麼您這裏需要,我會使用常規的JavaScript setTimeout

setTimeout(function() { a("body").addClass("cookie-guard"); /* etc. */ }, 14000); 
+0

作品般的魅力! – replicant129

+0

喔,很高興它已經分類! :) –