简体   繁体   English

无序列表按钮,用于显示更多/更少在第二个列表上不起作用

[英]Unordered list button for show more/less not working on second list

The show less/more button (for more than 10 items) is only working for the first and third unordered list. “显示更少/更多”按钮(用于10个以上的项目)仅适用于第一个和第三个无序列表。 On the second UL (also the fourth, if added) the button does nothing. 在第二个UL(如果添加了第四个UL)上,该按钮也不起作用。 I can't seem to figure out why. 我似乎不知道为什么。

HTML: HTML:

<ul class="tijdlijn-list">
<li class="item1"></li>
<li class="item2"></li>
<li class="item3"></li>
<li class="item4"></li>
<li class="item5"></li>
<li class="item6"></li>
<li class="item7"></li>
<li class="item8"></li>
<li class="item9"></li>
<li class="item10"></li>
<li class="item11"></li>
<li class="item12"></li>
<li class="item13"></li>
<li class="item14"></li>
<li class="item15"></li>
</ul>

<ul class="tijdlijn-list">
<li class="item1"></li>
<li class="item2"></li>
<li class="item3"></li>
<li class="item4"></li>
<li class="item5"></li>
<li class="item6"></li>
<li class="item7"></li>
<li class="item8"></li>
<li class="item9"></li>
<li class="item10"></li>
<li class="item11"></li>
<li class="item12"></li>
<li class="item13"></li>
<li class="item14"></li>
<li class="item15"></li>
</ul>

<ul class="tijdlijn-list">
<li class="item1"></li>
<li class="item2"></li>
<li class="item3"></li>
<li class="item4"></li>
<li class="item5"></li>
<li class="item6"></li>
<li class="item7"></li>
<li class="item8"></li>
<li class="item9"></li>
<li class="item10"></li>
<li class="item11"></li>
<li class="item12"></li>
<li class="item13"></li>
<li class="item14"></li>
<li class="item15"></li>
</ul>

Jquery script: jQuery脚本:

$('.tijdlijn-list').each(function(){
var max = 10;
if ($(this).find('li').length > max) {
    $(this).find('li:gt('+max+')').hide().end().append('<li class="sub_accordian"><div class="show_more">Toon alles</div></li>');
    $('.sub_accordian').click( function(){
        $(this).siblings(':gt('+max+')').toggle();
        if ( $('.show_more').length ) {
            $(this).html('<div class="show_less">Toon minder</div>');
        } else {
            $(this).html('<div class="show_more">Toon alles</div>');
        };
    });
};
});

I think your problem is that you have $(this) inside onclick event that's not triggering correctly. 我认为您的问题是onclick事件中包含$(this) ,无法正确触发。 You can try using 您可以尝试使用

$(this).find('.sub_accordian').click( function(){

So $(this).find('.sub_accordian').click( function(){ instead of ('.sub_accordian').click( Here is an example: https://jsfiddle.net/wa12rvgg/2/ 因此$(this).find('.sub_accordian').click( function(){代替('.sub_accordian').click(这是一个示例: https : ('.sub_accordian').click(

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM