我正在尝试使用下面的代码为我的页面内容创建一个 jQuery fadeIn 淡出效果。
$(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 的深层内容。非常感谢任何提示或帮助。
传统知识