cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Peristiwa klik ul's li selepas bergerak dalam konflik dengan acara pindah keluar

Seperti yang ditunjukkan dalam gambar: Kesan yang saya inginkan ialah apabila li ul dipindahkan, warna berubah menjadi merah, dan apabila dipindahkan, warna berubah menjadi biru
Tetapi jika li tertentu dipilih (iaitu , diklik), saya berharap li ini akan kekal sehingga li seterusnya diklik Ia berwarna merah Walaupun tetikus melaluinya semula dan peristiwa penyingkiran dicetuskan, ia masih perlu kekal merah sehingga li lain diklik.

Berikut adalah kod saya Kesan kod ini hanya selepas klik, jika li dialih keluar, warna akan kekal biru Namun, jika li yang diklik itu dialih masuk dan keluar semula, warnanya tidak akan kekal merah dan akan menjadi biru.

Boleh sesiapa bantu saya menyelesaikannya =-= Terima kasih terlebih dahulu

<ul class="h1">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
</ul>
<script>
    $('.h1 li').mouseenter(function(){
        $(this).css({"background":"red"})
        $(this).on("click",function(){
            $('.h1 li').css({"background":"blue"})
            $(this).css({"background":"red"})
            $(this).mouseleave(function(){
                $(this).css({"background":"red"})
            })
        })
    }).mouseleave(function(){
        $(this).css({"background":"blue"})
    })
</script>
漂亮男人漂亮男人2769 hari yang lalu606

membalas semua(4)saya akan balas

  • 为情所困

    为情所困2017-05-18 10:51:41

    Menukar kedudukan css boleh mencapai kesannya. Jika anda tidak percaya saya, cubalah. DEMO Saya akan menulis satu kemudian apabila saya mempunyai masa.

    js hanya membezakan yang mana satu yang anda klik

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-18 10:51:41

    Anda boleh menggunakan keutamaan gaya melalui pemeriksaan visual Kelas yang ditambahkan apabila anda mengklik ditambah dengan !penting

    balas
    0
  • PHPz

    PHPz2017-05-18 10:51:41

    css

    .h1 li {
        background-color: blue;
    }
    .h1 li:hover{
        background-color: red;
    }
    .chosen {
        background-color: red!important;
    }

    js:

    
    $('.h1 li').click(function() {
        $('.h1 li').removeClass('chosen');
        $(this).addClass('chosen');
    })
    

    balas
    0
  • 漂亮男人

    漂亮男人2017-05-18 10:51:41

    Terima kasih atas jemputan.

    HTML:

    <ul class="h1">
        <li class="bl">1</li>
        <li class="bl">2</li>
        <li class="bl">3</li>
        <li class="bl">4</li>
        <li class="bl">5</li>
    </ul>

    CSS:

    .bl {
        background-color: blue;
    }
    .bl:hover{
        background-color: red;
    }
    .clk {
        background-color: red;
    }

    JavaScript:

    $('.h1>li').click(function() {
        $('.clk').removeClass('clk').addClass('bl');
        $(this).removeClass('bl').addClass('clk');
    })

    Adakah ini?

    balas
    0
  • Batalbalas