一段异常心累的,杰奇目录页标签循环

这是今天收到反馈的问题,原本我为模板的目录页制作的比较复杂的折叠弹出样式,在设置章节及分卷排序的时候,出现了乱码的情况。一开始我认为是小问题,就随手修改一下,结果越写越复杂,越写越觉得脑子不够用。足足想了两个多小时,最终才完善整个循环体系。所以我认为这是个值得记录的问题,以后肯定还会遇到。
使用的程序为杰奇2.3。

完整需要做到的循环代码如下:

<div class="cell-tit">
  <div>第一卷</div>
    <a href="javascript:;" class="toggle">- 收起</a>
  </div>
  <div class="cell-items">
    <ul>
        <li><p><a href="http://127.0.0.2/html/75/23830.html">第一章:废材</a></p></li>
        <li><p><a href="http://127.0.0.2/html/75/23830.html">第一章:废材</a></p></li>
        <li><p><a href="http://127.0.0.2/html/75/23830.html">第一章:废材</a></p></li>
    </ul>
</div>

<div class="cell-tit">
  <div>第二卷</div>
    <a href="javascript:;" class="toggle">- 收起</a>
  </div>
  <div class="cell-items">
    <ul>
        <li><p><a href="http://127.0.0.2/html/75/23830.html">第一章:废材</a></p></li>
        <li><p><a href="http://127.0.0.2/html/75/23830.html">第一章:废材</a></p></li>
        <li><p><a href="http://127.0.0.2/html/75/23830.html">第一章:废材</a></p></li>
    </ul>
</div>

其中分卷名代码如下:

    <div class="cell-tit">
      <div>第一卷</div>
        <a href="javascript:;" class="toggle">- 收起</a>
    </div>

章节名称循环如下:

    <li><p><a href="http://127.0.0.2/html/75/23830.html">第一章:废材</a></p></li>
    <li><p><a href="http://127.0.0.2/html/75/23830.html">第一章:废材</a></p></li>
    <li><p><a href="http://127.0.0.2/html/75/23830.html">第一章:废材</a></p></li>

直接一看真的很简单,但是实际情况是,这里面的元素一个都不能缺失,如果缺少分卷区块,章节就乱码,如果缺少包含章节的div元素和ul元素,那么就不能正确的折叠或者直接出现错位。而且根据杰奇的本身特质,一些章节可以没有分卷,分卷也可以没有章节,所以在很多种情况下,仍然需要保证完整的循环元素不会缺失。所以这里我足足研究了两个多小时,最终才实现了一个接近完美的效果。

代码如下:

        {?section name=i loop=$chapterrows?}
        {?if $chapterrows[i].chaptertype == 0&$i['order']==1?}   //如果位于第一个的元素不是分卷,那么默认设置正文为分卷名称排列第一。
        <div class="cell-tit">
          <div>正文</div>
           <a href="javascript:;" class="toggle">- 收起</a>
        </div>
        <div class="cell-items">
          <ul>
          {?/if?}
          {?if $chapterrows[i].chaptertype > 0&$i['order'] ==1?}   //如果位于第一个的元素是分卷,那么以如下代码显示
        <div class="cell-tit">
          <div>{?$chapterrows[i].chaptername?}</div>
          <a href="javascript:;" class="toggle">- 收起</a>
        </div>
        <div class="cell-items">
          <ul>
          {?/if?}
          {?if $chapterrows[i].chaptertype > 0&$i['order'] > 1?}   //如果非排列第一的元素为分卷,则以如下代码显示
          </ul>
        </div>
        <div class="cell-tit">
          <div>{?$chapterrows[i].chaptername?}</div>
          <a href="javascript:;" class="toggle">- 收起</a>
        </div>
        <div class="cell-items">
          <ul>
        {?else?}
            {?if $chapterrows[i].chaptertype > 0&$i['order']==1?}   //在章节名称循环中,如果此章节是分卷,且排列第一则不显示。
            {?else?}
            <li><p>{?if $chapterrows[i].isvip > 0?}<span>VIP</span>{?/if?}   //对vip章节添加vip标识
            <a href="{?$chapterrows[i].url_chapter?}">{?$chapterrows[i].chaptername?}</a>
            </p></li>
            {?/if?}
            {?/if?}
            {?/section?}
          </ul>  //对循环末尾的元素补充缺失的标签
        </div> 

以上就是经过反反复复修改优化得到的基本完美的标签循环调用,现在小说网站的调用花样真是越来越多的,作为时不时仿站的我来说真心有点微微伤不起。

最后实现的效果图如下:
1.png

本文由网友投稿或「聚码源码网」整理自网络,如转载请注明出处:https://www.jumaniu.com/14048/

本站发布的内容若侵犯到您的权益,请邮件联系 zhangqy2022#yeah.net 删除,我们将及时处理!

从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!

本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。

本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。

若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。

常见问题
  • 本站所有资源解压密码为:www.jumaniu.com 或 www.tdji.cn
查看详情

相关文章

评论
暂无评论