我正在尝试使用下面的代码为我的页面内容创建一个jQuery淡入淡出效果。JQuery淡入淡出循环问题
$(document).ready(function(){
$("#main").click(function(){
$("#content").fadeOut(800, function(){
$("#content").load("main.html", function(){
$("#content").fadeIn(800);
});
});
});
$("#gallery").click(function(){
$("#content").fadeOut(800, function(){
$("#content").load("gallery.html", function(){
$("#content").fadeIn(800);
});
});
});
});
因此,只要用户点击通过主链路或画廊链接,旧的内容淡出,新内容变淡。我现在面临的问题是,对每一个环节我不得不再次重复同样的代码然后再次。所以我试图用一个循环来简化它,但它不起作用。这里是我的代码:
var p = ["#main","#gallery", "#contact"];
var q = ["main.html", "gallery.html", "contact.html"];
for (i=0;i<=(p.length-1);i++){
$(p[i]).click(function(){
$("#content").fadeOut(500, function(){
$("#content").load(q[i], function(){
$("#content").fadeIn(500);
});
});
});
}
当我写重复每个链接中的脚本,但是当我在一个循环将它们组合起来这是行不通的,它工作正常。我只获得FadeOut效果,之后没有任何反应。
这可能是一个非常简单的问题,或者可能是深入jQuery的东西。任何提示或帮助,不胜感激。
TK
我现在明白了..我想我的javaScript技能不如我以为他们是..谢谢维客 – Tarun 2010-06-17 17:17:38