我正在我决定使用 jquery 的第二个站点上工作。我遇到了问题,无法解决,也没有在网上找到解决方案。
所以,我创建了一个页面站点,它有一个菜单,每个项目都会触发特定的动画(水平移动+淡出)。通过点击第二个/第三个或第五个链接,所有初始主页动画都淡出,同时点击“主页”,所有动画/图像/等。正在回到它们原本应有的位置。但是,如果我单击“主页”两次或十次,每次单击时,所有水平动画的东西都会按指定的距离无限移动。
所以,我的问题是: 1.我应该如何解决这个问题 - 多次点击“主页”菜单项会产生无尽的动画;2.如何使其他菜单项正常工作,并通过单击“主页”将所有动画对象返回到初始位置?
这是我的代码。抱歉,如果您在这里发现一团糟 - 我在 jquery 中真的很绿。先感谢您 :)
<div id="nav">
<ul class="nav">
<li id="home"><a class="active" href="#">home</a></li>
<li id="stylist"><a href="#">hair stylist</a></li>
<li id="salon"><a href="#">salon</a></li>
<li id="center"><a href="#">dibi center</a></li>
<li id="gallery"><a href="#">gallery</a></li>
<li id="press"><a href="#">press</a></li>
<li id="check"><a href="#">check up</a></li>
</ul>
</div>
$(document).ready(function() {
var nav_0 = $("li#home")
var nav_1 = $("li#stylist")
var rot1 = $("#rotate_1")
var rot2 = $("#rotate_2")
var rot3 = $("#rotate_3")
var rot4 = $("#rotate_4")
var rot5 = $("#rotate_5")
var initialPage = $("#fade")
nav_0.click(function(){
initialPage.fadeIn(1500);
rot1.animate({"left": "-=20%", "opacity": "1"}, 1000);
rot2.animate({"top": "-=400px", "opacity": "1"}, 1000);
rot4.fadeIn(2000);
rot5.animate({"left": "+=200px", "opacity": "1"}, 1000);
rot3.animate({"top": "+=300px", "opacity": "1"}, 1000);
});
nav_1.click(function(){
initialPage.fadeOut(2000);
rot1.animate({"left": "+=20%", "opacity": "0"}, 1500);
rot2.animate({"top": "+=400px", "opacity": "0"}, 1500);
rot4.fadeOut(800);
rot5.animate({"left": "-=200px", "opacity": "0"}, 1500);
rot3.animate({"top": "-=300px", "opacity": "0"}, 1500);
});
});