Je suis en train d'essayer de réduire l'expansion de la fonctionnalité du panneau de gauche dans ma page qui a un panneau de navigation gauche et droite. Le panneau de gauche s'effondre mais la nouvelle classe de conteneur n'est pas définie. La structure ressemble à ceci:querySelector ne fonctionne pas avec IE 9
<div class="contentContainer">
<div class="leftNavPanel">
<div>
</div>
</div>
<div class="openClose" id="openClose">
<div class="leftPanelClose">
<a class="expandCollapseAnchor" href="javascript:collapseExpand()"><i class="fa fa-angle-double-left" id="expandCollapseIcon"></i></a>
</div>
</div>
<div class="rightNavPanel">
<div>
</div>
</div>
<div class="clearBoth"></div>
</div>
Mon javascript ressemble à ceci:
function collapseExpand(){
var left = document.querySelector("div.leftNavPanel");
var oc = document.querySelector("div.openClose");
var rP = document.querySelector("div.rightNavPanel");
var cont = document.querySelector(".contentContainer, .contentContainerNoLeftNavPanel");
var ic = document.getElementById("expandCollapseIcon");
if (left.style.display!="none")
{
left.style.display="none";
oc.style.marginLeft="0px";
rP.style.marginLeft="20px";
cont.classList.add("contentContainerNoLeftNavPanel");
cont.classList.remove("contentContainer");
ic.classList.remove("fa-angle-double-left");
ic.classList.add("fa-angle-double-right");
}
else
{
left.style.display="block";
oc.style.marginLeft="290px";
rP.style.marginLeft="310px";
cont.classList.add("contentContainer");
cont.classList.remove("contentContainerNoLeftNavPanel");
ic.classList.remove("fa-angle-double-right");
ic.classList.add("fa-angle-double-left");
}
}
Le seul problème est que querySelector n'accepte pas deux noms de classe comme arguments pour les anciens navigateurs (< = IE9) au moins c'est ce que je pense que le problème est. Quelqu'un peut-il me dire ce qui se passe ici? Cela semble fonctionner très bien avec le dernier chrome et IE> version 9
Ouais, je viens de comprendre cela. J'utilise + = pour ajouter les classes. Comment puis-je supprimer des cours? –
Jetez un coup d'œil à [Ajout et suppression de classes, avec JavaScript JavaScript multi-navigateur] (http://stackoverflow.com/questions/195951/change-an-elements-css-class-with-javascript/196038#196038) – Volune