Je cherche un moyen de convertir ce code jQuery (qui est utilisé dans la section du menu réactif) en JavaScript pur.
S'il est difficile de l'implémenter, vous pouvez utiliser d'autres frameworks JavaScript.
$('.btn-navbar').click(function()
{
$('.container-fluid:first').toggleClass('menu-hidden');
$('#menu').toggleClass('hidden-phone');
if (typeof masonryGallery != 'undefined')
masonryGallery();
});
javascript
dom
toggle
max imax
la source
la source
document.getElementById("menu").classList.toggle("hidden-phone")
:-)Réponses:
Réponse 2014 :
classList.toggle()
est la norme et prise en charge par la plupart des navigateurs .Les navigateurs plus anciens peuvent utiliser use classlist.js pour classList.toggle () :
En passant, vous ne devriez pas utiliser d'ID ( ils fuient des globaux dans l'
window
objet JS ).la source
Voici la solution implémentée avec ES6
exemple d'utilisation
la source
Jetez un œil à cet exemple: JS Fiddle
la source
Celui-ci fonctionne également dans les versions antérieures d'IE.
la source
\b
La limite des mots n'est pas cohérente avec les séparateurs de noms de classes css. par exemple, cela ne fonctionne pas si le nom de la classe contient tiret ("-") char: btn, btn-red correspondra tous les deux'\\b' + 'btn' + '\\b'
!!C'est peut-être plus succinct:
la source
Essayez ceci (j'espère que cela fonctionnera):
la source
Voici un code pour IE> = 9 en utilisant split ("") sur le className:
la source
Si vous souhaitez basculer une classe vers un élément à l'aide d'une solution native, vous pouvez essayer cette suggestion. Je l'ai goûté dans différents cas, avec ou sans d'autres classes sur l'élément, et je pense que cela fonctionne à peu près:
la source