Bonjour,
Débutant en JavaScript, j'ai pris des informations sur w3scools.com et sur developer.mozilla.org
Je suis en train de travailler sur un site pour le rendre mobil freendly
Je voulais mettre un bouton en haut de l'écran qui permette de revenir au menu sans devoir utiliser le défilement des pages
Je travaille avec firefox developer et tout fonctionne bien en vue adaptive mais un test sur un windows phone ne fut pas concluant
Le bouton est apparu mais est resté collé sur le haut de la page et pas en haut de l'écran donc il disparaît lors du défilement et un clic dessus ne fait que le faire passer en display:none.
Mon code est simpliste mais j'aimerai que vous m'aidiez à l'améliorer et surtout le faire fonctionner sur tous les mobiles
précision: le site est fait sous joomla 3.5 avec un template ol_albos
pour voir le comportement, le site est entrepreneur-varois.fr
Code css pour le bouton :
code html dans index.php
code js avec une fonction callback sur l'événement scroll pour l'affichage ou non du bouton et une fonction sur l'événement onclick pour le retour en début de page
le code est écrit en fin de document avant </body>
Je l'ai mis à cet endroit pour qu'il ne ralentisse pas le chargement de la page et éviter une ligne d'écriture "onload" pour activer le code après chargement.
Autre question : pourquoi function(e) ? A quoi sert le "e" dans la fonction anonyme.
J'ai adapté un code de mozilla et laissé bêtement le "e" sans en comprendre le sens.
J'ai supposé que le "e" est un paramètre renvoyé par l'événement scroll avec la valeur du déplacement effectué qui permet au code de la fonction de traiter le "if" mais est-ce bien ça ?
Débutant en JavaScript, j'ai pris des informations sur w3scools.com et sur developer.mozilla.org
Je suis en train de travailler sur un site pour le rendre mobil freendly
Je voulais mettre un bouton en haut de l'écran qui permette de revenir au menu sans devoir utiliser le défilement des pages
Je travaille avec firefox developer et tout fonctionne bien en vue adaptive mais un test sur un windows phone ne fut pas concluant
Le bouton est apparu mais est resté collé sur le haut de la page et pas en haut de l'écran donc il disparaît lors du défilement et un clic dessus ne fait que le faire passer en display:none.
Mon code est simpliste mais j'aimerai que vous m'aidiez à l'améliorer et surtout le faire fonctionner sur tous les mobiles
précision: le site est fait sous joomla 3.5 avec un template ol_albos
pour voir le comportement, le site est entrepreneur-varois.fr
Code css pour le bouton :
Code:
#backMenu { position: fixed; top: 0; background-image: url(../images/lev_ico.png); background-color: #085296; background-repeat: no-repeat; background-position: 10px 5px; width: 100%; height: 34px; color: #FFA !important; font-family: "arial black" !important; font-size: 14pt; letter-spacing: 0.2em; text-align: center; }
Code:
<button id="backMenu" style="display:none" onclick="top_lev()">menus</button>
le code est écrit en fin de document avant </body>
Je l'ai mis à cet endroit pour qu'il ne ralentisse pas le chargement de la page et éviter une ligne d'écriture "onload" pour activer le code après chargement.
Code:
<script type="text/javascript"> var show_menu = "none"; window.addEventListener("scroll", function(e){ if(window.scrollY > 100 && screen.width <= 786){ show_menu = "block"; }else{ show_menu = "none"; } document.getElementById("backMenu").style.display = show_menu; }); function top_lev(){ window.scrollTo(0,0); } </script>
J'ai adapté un code de mozilla et laissé bêtement le "e" sans en comprendre le sens.
J'ai supposé que le "e" est un paramètre renvoyé par l'événement scroll avec la valeur du déplacement effectué qui permet au code de la fonction de traiter le "if" mais est-ce bien ça ?
Commentaire