2011-09-12 97 views
0

我環顧四周,找不到我解決的問題。這裏是... 當我的頁面加載時,我有一個div從左側水平地向頁面生成動畫。該div動畫從一個負面到零。酷,正是我想要它做的。jquery停止動畫時完成

問題是,我不希望div在單擊新鏈接並加載另一個頁面時設置動畫。我想我會創建一個if語句,當div等於0時停止動畫或保持其原始值爲0.如果單擊鏈接時每次頁面重新加載時都會播放代碼開始處的animate()。我該如何解決這個問題?

// Set new postion of sideBarNavigation to animate into container screen 
var newSbnXPosition = $(".slideContainer").css({"top": "0em" , "left": "-14.3125em"}); 
//alert(newSbnXPosition.position().left); 

(newSbnXPosition).animate({left: "0"}, "slow", function() { 
    console.log("imagesContainer = " + $(".imagesContainer").position().left); 
    if (newSbnXPosition.position().left === 0) { 
      console.log("statment is true remove animation"); 
      //$(".slideContainer").css({"top": "0em" , "left": "0em"}); 
      //newSbnXPosition.position().left = 0; 

    } 
}); 
+1

如果您重新載入另一個頁面(或再次載入相同的頁面),那麼整個腳本將再次運行。例如,您可以使用cookie來使瀏覽器記住該動畫已經顯示給當前用戶。 – szajmon

+0

@szajmon是的,那就是我發現的問題。你有任何機會創建cookie的鏈接?我也要做一個搜索。 – milkIt

+0

我想我在cookies上找到了一些很好的信息......如果一切順利,我會回來評分答案,它應該如此。 – milkIt

回答

0

基於註釋,使用這個cookie插件: http://plugins.jquery.com/project/Cookie

設置這樣一個cookie:

$.cookie("example", "foo"); 

檢查是否存在這樣一個cookie:

$.cookie("example"); 

刪除這樣的餅乾:

$.cookie("example", null);