Ma fonction compte le nombre de cartes visibles à l'écran et si toutes sont affichées, elle affichera unearrow-up
类添加到我的图标中,如果某些卡片仍然对用户隐藏,则arrow添加-down
icône.
const showMoreIcon = document.querySelector('.cta-icon'); function myFunction(){ const btnIcon = cardsOnShow >= cards.length ? 'arrow-up' : 'arrow-down'; showMoreIcon.classList.add(btnIcon); }
Cela fonctionne, mais je peux voir dans le DOM que la bonne classe est ajoutée àspan
中,因为我期望它,因为添加了arrow-down
类首先(在显示所有可见卡片之前,用户必须多次展开内容) - 然后,尽管添加了arrow-up
类,但它不会覆盖arrow-down
。p>
Que diriez-vous de vous assurer d'ajouterarrow-up
时,arrow-down
被删除,反之亦然?我之前曾使用toggle
pour obtenir une simple icône d'ouverture/fermeture, mais cela ne fonctionne pas car elle peut s'agrandir plusieurs fois avant de fermer.
Je recommande de supprimer les cours dont vous n'avez plus besoin :
La cascade prend en compte de nombreux facteurs a>, qui est un ensemble de règles utilisées pour déterminer quelle règle « gagne » lorsque deux règles contradictoires sont appliquées au même élément.
L'ordre dans lequel les classes sont définiessur les éléments HTML ne fait pas partie de ces facteurs.
和
Idem en ce qui concerne la cascade.
Supprimezclasses qui ne doivent pas être appliquées.
Ou écrivez le CSS d'une manière qui ne se soucie que d'une seule classe pour changer l'orientation :
Alors