首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示更多和更少的javascript时出错

显示更多和更少的javascript时出错
EN

Stack Overflow用户
提问于 2020-06-13 13:10:32
回答 1查看 23关注 0票数 1

我有两个表,我需要显示更多和更少的功能。我是用javascript构建的,当我在一个表上点击show more and less时,它工作得很好,但是当在表1和表2上同时点击show more时,我需要点击show less两三次才能返回。

这是js脚本

代码语言:javascript
复制
$(function () {

x=6;
$('#table1 li').slice(0, 6).show();
$('#showLess').hide();
$('#table2 li').slice(0, 6).show();
$('#less').hide();
$('#loadMore').on('click', function (e) {
    e.preventDefault();
    x = x+7;
    $('#table1 li').slice(0, x).slideDown();
    $('#showLess').show();
    $('#loadMore').hide();
});
$('#showLess').click(function () {
    x=(x-7<0) ? 6 : x-7;
    $('#table1 li').not(':lt('+x+')').hide();

    $('#showLess').hide();
    $('#loadMore').show();
    if(x = 6){
        $('#showLess').hide();
    }
});
$('#more').on('click', function (e) {
    e.preventDefault();
    x = x+7;
    $('#table2 li').slice(0, x).slideDown();
    $('#less').show();
    $('#more').hide();
});
$('#less').click(function () {
    x=(x-7<0) ? 6 : x-7;
    $('#table2 li').not(':lt('+x+')').hide();

    $('#less').hide();
    $('#more').show();
    if(x = 6){
        $('#less').hide();
    }
  });
});

下面是html代码

代码语言:javascript
复制
<style>
   #table1 li{
        display:none;
   }
   #table2 li{
     display:none;
   }
  </style>


<ul id="table1">                                                     
   <li style="text-align:left">- &nbsp; One</li>
   <li style="text-align:left">- &nbsp; Two</li>
   <li style="text-align:left">- &nbsp; Three</li>
   <li style="text-align:left">- &nbsp; Four</li>
   <li style="text-align:left">- &nbsp; Five</li>
   <li style="text-align:left">- &nbsp; Six</li>
   <li style="text-align:left">- &nbsp; Seven</li>
   <li style="text-align:left">- &nbsp; Eight</li>
   <li style="text-align:left">- &nbsp; Nine</li>
   <li style="text-align:left">- &nbsp; Ten</li>
   <li style="text-align:left">- &nbsp; Eleven</li>
   <li style="text-align:left">- &nbsp; Twelve</li>
   <li style="text-align:left">- &nbsp; Thirteen</li>
</ul>
<div id="loadMore">More</div>
<div id="showLess">Less</div>

<ul id="table2">                                                     
   <li style="text-align:left">- &nbsp; One</li>
   <li style="text-align:left">- &nbsp; Two</li>
   <li style="text-align:left">- &nbsp; Three</li>
   <li style="text-align:left">- &nbsp; Four</li>
   <li style="text-align:left">- &nbsp; Five</li>
   <li style="text-align:left">- &nbsp; Six</li>
   <li style="text-align:left">- &nbsp; Seven</li>
   <li style="text-align:left">- &nbsp; Eight</li>
   <li style="text-align:left">- &nbsp; Nine</li>
   <li style="text-align:left">- &nbsp; Ten</li>
   <li style="text-align:left">- &nbsp; Eleven</li>
   <li style="text-align:left">- &nbsp; Twelve</li>
   <li style="text-align:left">- &nbsp; Thirteen</li>
</ul>
<div id="more">More</div>
<div id="less">Less</div>

你知道代码的错误在哪里吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-06-13 13:49:39

我已经找到解决方案了。

我需要给出另一个不同的变量名,比如a和b。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62355791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档