2011-09-12 42 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);