Passez de jquery a js

Fermé
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 - 8 déc. 2015 à 11:17
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 - 9 déc. 2015 à 09:45
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.




2 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
8 déc. 2015 à 12:38
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 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
8 déc. 2015 à 21:11
j'ai tenter mais ca ne fonctionne pas. désolé
0
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
Modifié par jordane45 le 9/12/2015 à 03:14
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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
9 déc. 2015 à 09:39
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 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
Modifié par ViriisXP le 9/12/2015 à 09:46
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