Bonjour,
je fais un site , et j'utilise jquery pour afficher et cacher des éléments : http://entretien-chaudiere.fr/page_nettoyage.php
J'ai donc commencé par faire affiché disparaitre le texte de la liste , ca marche bien .
J'ai des vidéos a mettre , je me suis dis que je vais faire pareil , un petit clique et hop ca fais apparaitre la vidéo , un autre et elle repart .
J'ai donc un ( faux ) problème ( parce que ca va changé je détail après .. ) , c'est que je trouve assez pénible de devoir écrire la fonction pour chaque élément a faire apparaitre disparaitre .. les 6 éléments de ma liste , ca va je débute en jquery, je me soucis pas d'en écrire 6 ..
Mais bon la j'ai une 15 aine de vidéo , si je dois re ecrire le code pour les 15 videos en plus des 6 1ere , je commence a trouvé que ca fais beaucoup , surtout que le code se ressemble beaucoup .. : http://entretien-chaudiere.fr/js/script.js
Du coup , je me demandé , si par hasard je peux faire une boucle for de 1 a 15 , qui va déclaré mes 15 fonctions .. ou si c'est pas possible :s
hop en adaptant rapidement le code que j'ai écris ca donnerait ca en gros , mais je pense pas que je puisse déclaré des fonctions a la volé avec une boucle ..
Bon ensuite enfaite c'est un peu un faux problème , parce que j'ai voulu faire ca pour avoir un petit effet sympa ( et un gain de place ^^ ) .
Mais du coup j'ai pas fais comme d'habitude .. et donc en me souciant après coup de ce que ca rend sans javascript , c'est immonde .. ( juste avec les 5 1ere vidéos .. je préfère pas imaginé avec 15 .. )
Du coup , je veux quand même savoir si c'est possible de déclaré des fonctions en boucle comme ca ^^ , mais il faut aussi que je change ca ^^
Du coup j'hésite entre 2 trucs :
-soit je fais une classe qui cache toutes mes vidéos des le départ ( display:none) , et ensuite j'adapte mon code pour que quand je clique sur un des liens , je vais enlevé cette classe , et l'élément va apparaitre ( a la base j'avais même espéré que quand je faisais du show ou hide , ca faisait changé la propriété display , mais a priori non .. ou du moins ca fais pas sauté la classe , et ca prend pas le dessus ^^ ) .
-soit je fais un div qui sera vide a la base , et ensuite je génère avec du innerHtml par exemple le bon code de la vidéo dans mon div ( ou je fais un innerHtml vide pour faire disparaitre la vidéo )
Comme ca dans les 2 cas j'aurai bien un rendez assez similaire a ce que j'ai pour le moment , mais ce qui sera nettement mieux , c'est que je n'aurai plus de problème pour les gens qui n'utilise pas javascript , ils ne verront pas les 15 vidéos qui prennent 95% de la page ^^ , ils auront juste un lien qui renverra vers mes vidéos .
Voila , ,donc plus que de l'aide pour le faire ( j'ai déjà pas mal ma petite idée ^^ ) , je voudrais donc savoir ce qui sera le mieux , et surtout pourquoi ( je demande parce que on m'a assez souvent dis que innerHtml c'est pas bien tout ca .. , mais enfaite , je crois que j'ai jamais eu une raison réel .. peut être juste parce que ces gens aiment pas javascript , trouve ca "crade" .. )
je fais un site , et j'utilise jquery pour afficher et cacher des éléments : http://entretien-chaudiere.fr/page_nettoyage.php
J'ai donc commencé par faire affiché disparaitre le texte de la liste , ca marche bien .
J'ai des vidéos a mettre , je me suis dis que je vais faire pareil , un petit clique et hop ca fais apparaitre la vidéo , un autre et elle repart .
J'ai donc un ( faux ) problème ( parce que ca va changé je détail après .. ) , c'est que je trouve assez pénible de devoir écrire la fonction pour chaque élément a faire apparaitre disparaitre .. les 6 éléments de ma liste , ca va je débute en jquery, je me soucis pas d'en écrire 6 ..
Mais bon la j'ai une 15 aine de vidéo , si je dois re ecrire le code pour les 15 videos en plus des 6 1ere , je commence a trouvé que ca fais beaucoup , surtout que le code se ressemble beaucoup .. : http://entretien-chaudiere.fr/js/script.js
Du coup , je me demandé , si par hasard je peux faire une boucle for de 1 a 15 , qui va déclaré mes 15 fonctions .. ou si c'est pas possible :s
for(var i=1;i=15;i++)
{
$("a#affichevideo"+i).click(function() {
if(VideoOuverte!=i)
{
// on cache tous les elements ( on evite de faire des tests pour savoir qui est ouvert comme ca .. )
for(var j=1;j=15;j++)
{
$("#video"+j).hide("");
}
//on montre video1 , et on indique que Element ouvert est le 1er
VideoOuverte=i;
$("#video+i").show("");
}
else
{
VideoOuverte=0;
$("#video"+i).hide("");
}
return false; // pour ne pas suivre le lien . ( href="#" )
});
}
hop en adaptant rapidement le code que j'ai écris ca donnerait ca en gros , mais je pense pas que je puisse déclaré des fonctions a la volé avec une boucle ..
Bon ensuite enfaite c'est un peu un faux problème , parce que j'ai voulu faire ca pour avoir un petit effet sympa ( et un gain de place ^^ ) .
Mais du coup j'ai pas fais comme d'habitude .. et donc en me souciant après coup de ce que ca rend sans javascript , c'est immonde .. ( juste avec les 5 1ere vidéos .. je préfère pas imaginé avec 15 .. )
Du coup , je veux quand même savoir si c'est possible de déclaré des fonctions en boucle comme ca ^^ , mais il faut aussi que je change ca ^^
Du coup j'hésite entre 2 trucs :
-soit je fais une classe qui cache toutes mes vidéos des le départ ( display:none) , et ensuite j'adapte mon code pour que quand je clique sur un des liens , je vais enlevé cette classe , et l'élément va apparaitre ( a la base j'avais même espéré que quand je faisais du show ou hide , ca faisait changé la propriété display , mais a priori non .. ou du moins ca fais pas sauté la classe , et ca prend pas le dessus ^^ ) .
-soit je fais un div qui sera vide a la base , et ensuite je génère avec du innerHtml par exemple le bon code de la vidéo dans mon div ( ou je fais un innerHtml vide pour faire disparaitre la vidéo )
Comme ca dans les 2 cas j'aurai bien un rendez assez similaire a ce que j'ai pour le moment , mais ce qui sera nettement mieux , c'est que je n'aurai plus de problème pour les gens qui n'utilise pas javascript , ils ne verront pas les 15 vidéos qui prennent 95% de la page ^^ , ils auront juste un lien qui renverra vers mes vidéos .
Voila , ,donc plus que de l'aide pour le faire ( j'ai déjà pas mal ma petite idée ^^ ) , je voudrais donc savoir ce qui sera le mieux , et surtout pourquoi ( je demande parce que on m'a assez souvent dis que innerHtml c'est pas bien tout ca .. , mais enfaite , je crois que j'ai jamais eu une raison réel .. peut être juste parce que ces gens aiment pas javascript , trouve ca "crade" .. )