【问题标题】:Load more items based on filter logic根据过滤器逻辑加载更多项目
【发布时间】:2015-06-24 02:47:24
【问题描述】:

逻辑在这里..

  1. 加载时 div 容器必须根据 li 选择的 id 显示。 Li ID & div ID 必须匹配并显示。其他将被隐藏。

  2. 在初始加载时,它必须只显示 3 个项目(在过滤后的基于 ID 之后)。点击“加载更多”链接..它必须在每次点击时再显示 6 个。必须维护基于 ID 的过滤器。

提前感谢您的帮助!

HTML:

<ul>
  <li class="slist selected" id="ele1"><a href="javascript:;">Element 1</a></li>
  <li class="slist" id="ele2"><a href="javascript:;">Element 2</a></li>
</ul>


<div class="cwrapper">
  <div class="contentEle">
    <div class="content ele1">
     Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ve...
    </div>
    <div class="content ele2">
     Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ve...
    </div>
  </div>
  <a href="javascript:;" class="load-more">Load more</a>
</div>

JS:

$('.slist').each(function () {
if($(this).hasClass('selected')) {
$('.cwrapper .contentEle > div.content').hide();
var $postDiv = $('.' + $(this).attr('id')).size();
    var $divEle = 3;
    $('.' + $(this).attr('id'):lt('+$divEle+')).fadeIn(600);
    $('div.content:lt('+$divEle+')').show();

    $('.load-more').click(function () {
      $divEle = ($divEle + 6 <= $postDiv) ? $divEle + 6 : $postDiv;
      $('.cwrapper .contentEle > div.content:lt('+$divEle+')').show();
    });    
 }
});

【问题讨论】:

    标签: jquery


    【解决方案1】:

    你可以使用一个简单的过滤器,比如

    jQuery(function($) {
      var $els = $('.contentEle .content').hide(),
        $curr;
    
      $('.slist').on('click', function() {
        var $this = $(this);
        $this.addClass('selected');
        $curr = $els.filter('.' + this.id).hide();
        $curr.slice(0, 3).show();
        $els.not($curr).hide();
      }).filter('.selected').click();
    
      $('.load-more').click(function() {
        $curr.filter(':hidden').slice(0, 6).show();
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <ul>
      <li class="slist selected" id="ele1"><a href="javascript:;">Element 1</a>
      </li>
      <li class="slist" id="ele2"><a href="javascript:;">Element 2</a>
      </li>
      <li class="slist" id="ele3"><a href="javascript:;">Element 3</a>
      </li>
      <li class="slist" id="ele4"><a href="javascript:;">Element 4</a>
      </li>
    </ul>
    <div class="cwrapper">
      <div class="contentEle">
        <div class="content ele1">1:1</div>
        <div class="content ele1">1:2</div>
        <div class="content ele1">1:3</div>
        <div class="content ele1">1:4</div>
        <div class="content ele1">1:5</div>
        <div class="content ele1">1:6</div>
        <div class="content ele1">1:7</div>
        <div class="content ele1">1:8</div>
        <div class="content ele1">1:9</div>
        <div class="content ele1">1:10</div>
        <div class="content ele1">1:11</div>
        <div class="content ele1">1:12</div>
        <div class="content ele2">2:1</div>
        <div class="content ele2">2:2</div>
        <div class="content ele2">2:3</div>
        <div class="content ele2">2:4</div>
        <div class="content ele2">2:5</div>
        <div class="content ele2">2:6</div>
        <div class="content ele2">2:7</div>
        <div class="content ele2">2:8</div>
        <div class="content ele2">2:9</div>
        <div class="content ele2">2:10</div>
        <div class="content ele2">2:11</div>
        <div class="content ele3">3:1</div>
        <div class="content ele3">3:2</div>
        <div class="content ele3">3:3</div>
        <div class="content ele3">3:4</div>
        <div class="content ele3">3:5</div>
        <div class="content ele3">3:6</div>
        <div class="content ele3">3:7</div>
        <div class="content ele3">3:8</div>
        <div class="content ele4">4:1</div>
        <div class="content ele4">4:2</div>
        <div class="content ele4">4:3</div>
      </div>
      <a href="javascript:;" class="load-more">Load more</a>
    </div>

    【讨论】:

    • 嗨,Arun 先生.. 还需要一个帮助.. 如果特定 id 的项目总数少于 3 意味着.. 必须删除“加载更多”链接.. 你能建议我从你的代码?
    • 谢谢兄弟 :) 它的工作.. 但是.. 需要小的澄清.. 当我们在 CMS 中添加此代码时.. 点击功能工作正常。但是在加载时我们的逻辑不起作用..不知道为什么?相同的逻辑适用于 HTML 版本。有没有办法检查列表元素的 id 是否已经加载?
    猜你喜欢
    • 2018-03-10
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多