cari

Rumah  >  Soal Jawab  >  teks badan

Menggunakan classList dalam fungsi Javascript untuk menambah kelas CSS, tetapi gaya bercanggah kerana kelas terbaharu tidak diutamakan

Fungsi saya mengira bilangan kad yang kelihatan pada skrin dan jika semuanya dipaparkan, ia akan arrow-up 类添加到我的图标中,如果某些卡片仍然对用户隐藏,则 arrow添加-downikon.

const showMoreIcon = document.querySelector('.cta-icon');

function myFunction(){
   const btnIcon = cardsOnShow >= cards.length ? 'arrow-up' : 'arrow-down';
   showMoreIcon.classList.add(btnIcon);
}
<span class="medium-icon"></span>

Ini berfungsi, tetapi saya dapat melihat dalam DOM bahawa kelas yang betul ditambahkan pada span 中,因为我期望它,因为添加了 arrow-down 类首先(在显示所有可见卡片之前,用户必须多次展开内容) - 然后,尽管添加了 arrow-up 类,但它不会覆盖 arrow-down。 p>

Bagaimana pula dengan memastikan untuk menambah arrow-up 时,arrow-down 被删除,反之亦然?我之前曾使用 toggle untuk mencapai ikon buka/tutup yang mudah, tetapi ini tidak berfungsi kerana ia mungkin berkembang beberapa kali sebelum ditutup.

P粉738821035P粉738821035488 hari yang lalu595

membalas semua(2)saya akan balas

  • P粉579008412

    P粉5790084122023-09-11 14:59:10

    Saya syorkan padamkan kursus yang anda tidak perlukan lagi:

    function myFunction(){
       if (cardsOnShow >= cards.length) {
          showMoreIcon.classList.add('arrow-up')
          showMoreIcon.classList.remove('arrow-down')
       } else {
          showMoreIcon.classList.remove('arrow-up')
          showMoreIcon.classList.add('arrow-down')
       }
    }
    
    

    balas
    0
  • P粉395056196
  • Batalbalas