Passez de jquery a js

ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   -  
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai un code que j'ai trouvé qui me plais mais je ne pense pas avoir besoin de la bibliotheque jquery car je n'ai besoin sur tout le site que de cette simple fonction :

$('#lien1').on('click',function(e) {
e.preventDefault();
window.location = $(this).attr('href');
$("#button").removeAttr("checked");

});



Seconde requete :

j'aimerais avoir ce code valable pour chaque lien de mon menu (9 au total), pouvez-vous m'aider ??


bien cordialement.




A voir également:

2 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Une traduction de ton code jquery en javascript :
document.getElementById('lien1').addEventListener('click', function(e) {
  e.preventDefault();
  window.location = this.getAttribute('href');
  document.getElementById('button').removeAttribute('checked');
});


Pour l'appliquer sur chaque lien de ton menu, une solution possible :
function maFonction(e) {
  e.preventDefault();
  window.location = this.getAttribute('href');
  document.getElementById('button').removeAttribute('checked');
}

document.getElementById('lien1').addEventListener('click', maFonction);
document.getElementById('lien2').addEventListener('click', maFonction);
document.getElementById('lien3').addEventListener('click', maFonction);
// etc...


Bonne journée
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
j'ai tenter mais ca ne fonctionne pas. désolé
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
j'ai mis mon menu ainsi :
  <header>
   <nav>
       <input type="checkbox" id="button">
       <label for="button" onclick></label>
       <ul>
     <li><a href="#S1" id="link1" title="Accueil" >Accueil</a></li>
     <li><a href="#S2" id="link2" title="Découvrir">Découvrir</a></li>
     <li><a href="#S3" id="link3" title="Le cadre">Le cadre</a></li>
     <li><a href="#S4" id="link4" title="Tarifs">Tarifs</a></li>
     <li><a href="#S5" id="link5" title="Horaires">Horaires</a></li>
     <li><a href="#S6" id="link6" title="Produits">Produits</a></li>
     <li><a href="#S7" id="link7" title="S'y rendre">S'y rendre</a></li>
     <li><a href="#S8" id="link8" title="L'histoire">L'Histoire</a></li>
     <li><a href="#S9" id="link9" title="Contact">Contact</a></li>
    </ul>
   </nav>
  </header> 


mais :
<script  type="text/javascript">
  function myFunction(e) {
  e.preventDefault();
    window.location = this.getAttribute('href');
    document.getElementById('button').removeAttribute('checked');
  }

document.getElementById("link1").addEventListener("click", myFunction);
document.getElementById("link2").addEventListener("click", myFunction);
document.getElementById("link3").addEventListener("click", myFunction);
document.getElementById("link4").addEventListener("click", myFunction);
//etc ...
/script>

ca marche pas !

:/

EDIT : AJOUT DES BALISES DE CODE.



je pense donc je suis !
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Le code reproduis le comportement du code de ton premier message.

"Ca ne marche pas" ne veux rien dire.
Quel est le résultat attendu ? Quel est le résultat obtenu ?
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Bonjour @pitet : mon menu possède sa fonction principale lors de la version mobile du site, la checkbox selectionné ouvre le menu qui contient tout les liens cités. je suis sur un on page website avec des liens ciblés à l'ancre. donc afin que le menu se referme quand je clic sur un lien de l'ancre j'ai compris que je ne pouvais pas faire ca en full css et donc que j'avais besoin d'un petit peu de js. mais le résultat avec ton code comparé au premier c'est que ca ne ferme pas le menu ... voila ...



du coup moi mon code actuel qui travaille :

  
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function () {$("#link1").click(closeThis);});
$(document).ready(function () {$("#link2").click(closeThis);});
$(document).ready(function () {$("#link3").click(closeThis);});
$(document).ready(function () {$("#link4").click(closeThis);});
$(document).ready(function () {$("#link5").click(closeThis);});
$(document).ready(function () {$("#link6").click(closeThis);});
$(document).ready(function () {$("#link7").click(closeThis);});
$(document).ready(function () {$("#link8").click(closeThis);});
$(document).ready(function () {$("#link9").click(closeThis);});


function closeThis() {
window.location = $(this).attr('href');
$("#button").removeAttr("checked");
}
</script>

merci en tout cas pour ton aide.
0