IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[DOM] [lightbox] document.getElementById('box')


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 97
    Par défaut [DOM] [lightbox] document.getElementById('box')
    Bonjour,

    j'utilise un script lightbox qui affiche une image de manière ajax pour utiliser le script c'est simple il suffit de faire :

    <a href="images/image-1.jpg" rel="lightbox" title="my caption">image #1</a>
    jusque la pas de problèmes

    par contre dans ma page j'utilise un script ajax qui affiche dynamiquement du contenu par le biais de document.getElementById('pseudobox').innerHTML= texte

    text = '<a href="images/chat.jpg" rel="lightbox" title="my caption">image #1</a>' ;

    Quand je passe cette image de cette facon le script lightbox ne s'active plus et le lien devient un lien normal.
    J'ai regardé le code généré il est exactement identique a celui que j'insère normalement en HTML pourtant l'un est fonctionnel l'autre pas pourquoi ?

    Autre question est il possible d'activer se script automatiquement sans clic sur un lien ? j'ai essayé
    window.location.replace mais on peut pas passer la variable rel= pour activer le script

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Par défaut
    Tu devrais nous montrer tes sources, mais je pense que tu dois avoir un script qui s'exécute au chargement de ta page et qui agit sur les liens qui ont l'attribut rel="lightbox".

    Donc quand le lien est en dur dans ta page pas de problème, mais lorsqu'il est ajouté par un appel Ajax ça ne fonctionne pas (car le script à déjà été exécuté).

    Enfin c'est une piste mais montre nous tes sources ...

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    C'est pas un pb d'ordre d'exécution des scripts, c'est un pb de DOM : lightbox fonctionne en analysant toutes les balises <a> de ton code HTML et prend en compte celles pour lesquelles rel="lightbox". Quand un JavaScript écrit du code HTML, ce n'est pas détectable par Lightbox car ce n'est pas présent dans le code HTML initial de la page en tant que vrai code HTML. Ce que je veux dire c'est que Lightbox voit les vraies balises HTML (<a>, <script>, etc.) mais n'est pas capable de comprendre ce que fait le code JavaScript.

    Pour ton pb, il faut donc que tu trouves le moyen d'appeler le script Lightbox au moment ou peut-être juste après avoir fait ton document.getElementById('pseudobox').innerHTML = '<a href="images/chat.jpg" rel="lightbox" title="my caption">image #1</a>' mais peut-être est-ce le sujet de ta seconde question ?

    Citation Envoyé par yodark
    Autre question est il possible d'activer se script automatiquement sans clic sur un lien ? j'ai essayé
    window.location.replace mais on peut pas passer la variable rel= pour activer le script
    J'ai pas bien compris : de quel script tu parles et quand veux-tu l'exécuter ? Tu voudrais exécuter le script Lightbox après ton document.getElementById('pseudobox').innerHTML = '<a href="images/chat.jpg" rel="lightbox" title="my caption">image #1</a>' ou ça n'a rien à voir ?

Discussions similaires

  1. [DOM] document.getElementById is null
    Par camyo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/06/2009, 07h24
  2. Réponses: 11
    Dernier message: 19/03/2009, 09h33
  3. [Mozilla] document.getElementById(var) has no properties
    Par dys_ dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/11/2005, 15h33
  4. document.getElementById() has no properties ..
    Par ahage4x4 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/06/2005, 17h04
  5. This.value au lieu de document.getElementById('field').value
    Par yoyot dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/03/2005, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo