J'essaie de créer un effet de fondu jQuery fadeIn pour le contenu de ma page en utilisant le code ci-dessous.Problème de boucle JQuery fadeIn fadeOut
$(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);
});
});
});
});
Ainsi, chaque fois qu'un utilisateur clique sur soit le lien principal ou d'un lien de la galerie, l'ancien contenu disparaît et le nouveau contenu apparaît en fondu. Le problème que je suis confronté est que pour chaque lien que je dois répéter le même code et encore. J'ai donc essayé d'utiliser une boucle pour simplifier cela mais ça ne marche pas. Voici mon code:
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);
});
});
});
}
Il fonctionne très bien quand j'écris répéter les scripts pour chaque lien, mais il ne fonctionne pas quand je les combine dans une boucle. Je n'ai que l'effet FadeOut et rien ne se passe après.
Cela peut être un problème très simple ou peut être quelque chose de profond dans jQuery. Toute suggestion ou aide est grandement appréciée.
TK
Je comprends maintenant .. Je suppose que mes compétences javaScript ne sont pas aussi bon que je pensais qu'ils étaient .. Merci Wikser – Tarun