簡體   English   中英

jQuery on('click')…函數僅執行一次

[英]Jquery on('click')… Function Execute only once

所以我得到了:

var current = $('.article.active');

$('div').on("click", function() {
    if(current.next('.article').hasClass('hide')){
        $(current).addClass('hide');
        $(current).next('.article').removeClass('hide');
    };  
}); 

和HTML:

<body>
    <div class="app">
        <div id="article0" class="article active"></div>
        <div id="article1" class="article hide"></div>
        <div id="article2" class="article hide"></div>
    </div>

因此,當我單擊div時,代碼有效,但只有一次。 我想為每個div多次執行。

JSFIDDLE: http : //jsfiddle.net/9xrpuru9/

您需要在點擊處理程序中找到活動元素,而且活動類也必須更改

$('div.app').on("click", function () {
    var current = $('.article.active');
    $(current).addClass('hide').removeClass('active');
    if (current.next('.article').length) {
        $(current).next('.article').removeClass('hide').addClass('active');
    } else {
        $('.article:first').removeClass('hide').addClass('active');
    }
});

演示: 小提琴

您沒有將活動類設置為下一個文章div。

您可以嘗試以下代碼。

$('.article').on("click", function () {
        if ($(this).next('.article').hasClass('hide')) {
            $(this).addClass('hide').removeClass('active');
            $(this).next('.article').removeClass('hide').addClass('active');
        };
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM