Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2010, 17h14   #1
Futur Membre du Club
 
Inscription : avril 2003
Messages : 97
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 97
Points : 15
Points : 15
Par défaut Injection dynamique de code HTML et effet sur sur les class CSS (slider jQuery)

Bonjour à tous,

J'utilise un slider qui utilise JQuery
http://www.ndoherty.biz/demos/coda-slider/2.0/

Pour le bon fonctionnement du slider pour passer à la page suivante j'utilise le code
Code :
<a class="xtrig" href="#1" rel="coda-slider-3">Panel 1</a>
Donc comme ça ca marche sans problèlemes. J'imagine que lors de l'utilisation de la classe CSS "xtrig" le slider comprends qu'il faut passer à la page suivante.

Par contre quand j'injecte dynamiquement de l'HTML via javascript comme ça

Code :
container.innerHTML = '<a class="xtrig" href="#4" rel="coda-slider-1"><img src="questions/illu1reponse3V.png" width="" height="" class="" /></a>';
L'effet ne fonctionne plus sur le slider. Pourquoi ?

J'imagine que dès que le code apparait après le load ca ne fonctionne plus.

Comment faire pour conserver l'effet ? Sinon je pourrais précharger le lien et le désactiver jusqu'à ce que j'injecte le nouveau code HTML, mais comment faire ?

Cordialement
yodark
yodark est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2010, 17h31   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
C'est effectivement un problème connu de JavaScript : il est assez mauvais pour prévoir ce qui va arriver sur la page dans le futur

Plus sérieusement, le fonctionnement est le suivant : lorsque le script est lancé, il récupère les éléments dont il a besoin et leur affecte un comportement, en revanche, il ne peut pas affecter un comportement à des éléments qui n'existent pas encore !
Eventuellement, tu peux essayer d'utiliser la méthode live() de jQuery, sinon, relancer le script à chaque ajout d'éléments.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 10h58   #3
Futur Membre du Club
 
Inscription : avril 2003
Messages : 97
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 97
Points : 15
Points : 15
Citation:
relancer le script à chaque ajout d'éléments.
C'est justement la que je coince un peu. Comment relancer le script ? Vu que je ne suis pas un expert JS je vois pas trop comment faire.

J'ai essayé de reprendre l'initialisation
Code :
$('#coda-slider-1').codaSlider();
Mais du coup tout s'éfface quand je fait ça.

Pour la fonction live comment l'utiliser dans ce cas la ?
yodark est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h53.


 
 
 
 
Partenaires

Hébergement Web