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 :

Supprimer le JavaScript inline


Sujet :

JavaScript

  1. #41
    Membre régulier
    Bonjour Javatwister,

    Merci de ton code, je le mets sur le codepen ce soir.

    Citation Envoyé par Nosmoking
    ce qui est simple, doit rester simple sauf si tu as des actions chez window.open
    window.open c'est un peu comme les vinyles, cela va revenir...

  2. #42
    Membre régulier
    Bonjour,

    Le code ne fonctionne pas sur les deux premiers liens du codepen :

    Code HTML :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    <p id="trust"><a id="PS" href="#">Site s&eacute;curis&eacute;</a>
    <br />
    <a id="GB" href="#">Satisfait ou rembours&eacute;</a></p>


    Je pense que c'est EventListener qui n'est ajouté que pour les images de id="parent" alors qu'il s'agit de liens hors id="parent".

  3. #43
    Expert confirmé
    C'est formidable: tu as tout compris!
    Donc, j'imagine que tu peux rectifier le code tout seul maintenant

  4. #44
    Membre régulier
    Bonjour Javatwister,

    Je vais essayer ce soir, honnêtement pas sûr d'y arriver car je ne comprends pas tout dans le code.

  5. #45
    Expert confirmé


    D'après ton html,
    - tes liens directs n'ont pas d'id;
    - tes liens popup ont un id;
    - les liens popup sont dans le conteneur "trust" ou "menuhaut";
    - donc, on ne va sélectionner que ces derniers
    (Et même Explorer aura de quoi se réjouir d'un code aussi innovant )

    Code javascript :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    const liens=document.links;
    for(let i=0;i<liens.length;i++){
    	if(liens[i].id && (liens[i].parentNode.id=="trust" || liens[i].parentNode.id=="menuhaut")) {
    		liens[i].addEventListener("click",function(e){
    			const win2=window.open(
    				"nouscab.php#"+this.id,
    				"", 
    				"scrollbars=yes,resizable=yes,width=420,height=420"
    			);
    			e.preventDefault();
    		})
    	}
    }

  6. #46
    Membre régulier
    Encore MERCI.

    J'essaye ce soir.

    Je vous tiens informé.

  7. #47
    Membre régulier
    Bonjour,

    Dans le codepen, cela marche très bien pour id="trust" mais pas pour id="menuhaut".

    Je suppose que le problème est que les liens à pop-up ne sont pas des enfants directs de id="menuhaut", ils sont dans une liste emboitée.

    Code HTML :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <ul id="menuhaut">
    <li><a href="b.php?a=A1AL&amp;r=pxet&amp;c=CGV">CGV et FAQ</a>
    <ul>
    <li><a href="b.php?a=A1AL&amp;r=pxet&amp;c=CGV">Conditions de vente (13 rubriques)</a></li>
    <li><a id="FP" href="nouscab.php#FP">Quels sont les frais de port ?</a></li>
    etc..

  8. #48
    Expert confirmé
    Code javascript :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    const liens=document.links;
    for(let i=0;i<liens.length;i++){
    	if(liens[i].id) {
    		liens[i].addEventListener("click",function(e){
    			const win2=window.open(
    				"nouscab.php#"+this.id,
    				"", 
    				"scrollbars=yes,resizable=yes,width=420,height=420"
    			);
    			e.preventDefault();
    		})
    	}
    }

  9. #49
    Membre régulier
    Bonjour Javatwister,

    Ton code fonctionne très bien sur le codepen.

    Je le mets sur mon site de test pendant le week-end.

    Je vous tiens informé.

    Encore merci.

  10. #50
    Membre régulier
    Bonjour,

    Est_il possible de cibler des classes ?

    Le sélecteur css serait :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    li.comp i.trv a

    La version réduite doit aussi convenir :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    i.trv a

    ou même :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    i.trv > a


    Existe-t-il un équivalent en javascript ?

    Cela a un rapport avec notre discussion pour nouveau développement.