7
votes

Toggle CSS Fiches (en cliquant) avec JavaScript

Essayer de trouver du code pour commuter deux feuilles de style avec un seul bouton. J'ai essayé d'adapter les solutions des autres, mais à rien en vain (encore). Voici ma tentative la plus récente:

Configuration: p>

<button type="button" onclick="toggle()">Switch</button>


0 commentaires

4 Réponses :


6
votes

Essayez, y compris, y compris les deux, puis activé le drapeau désactivé xxx


1 commentaires

Je ne sais pas comment fonctionne la mise en cache de navigateur, mais celle-ci peut conduire à une expérience utilisateur plus lisse puisqu'elle chargera les deux règles de règles, et au tout début.



5
votes

Votre script est solide, sauf que l'attribut href est une URL complète, même si vous utilisez un chemin relatif. Voici le code que j'ai utilisé qui fonctionne: xxx

voir violon ici: http: / /jsfiddle.net/jakelauer/lwjjx/


1 commentaires

+1, mais s'il vous plaît diviser JavaScript depuis le HTML la prochaine fois: jsfiddle.net/lwjjx/3



5
votes

C'est la solution la plus courte que je pouvais penser (et fonctionne probablement dans tous les navigateurs):

function toggle() {
  var a = document.getElementById("style1");
  a.x = 'resumecssinvert' == a.x ? 'resumecss' : 'resumecssinvert'; // short if
  a.href = a.x + '.css';
}


1 commentaires

La seule fonctionne une fois, une fois que je clique sur le bouton à nouveau, il cesse de fonctionner.



0
votes

Celui-ci fonctionne avec jQuery.

$('#dark-css').click(function() {

    var isDarkCss = $("link[href='dark.css']");

    if (isDarkCss.length){
        isDarkCss.remove();
    }else{
        $('head').append('<link type="text/css" rel="stylesheet" media="all" href="dark.css">');
    }
});


0 commentaires