【问题标题】:My repeated HTML Bootstrap collapse function only works for the first set我重复的 HTML Bootstrap 折叠功能仅适用于第一组
【发布时间】:2018-08-19 21:00:03
【问题描述】:

所以我正在创建一个页面,该页面是一个目录,其中每个问题都有一组文章和作者。我正在实现一个函数,该函数在第四个元素之后剪切文章列表,并使用“查看更多”按钮折叠剩余的文章。在网站上,它会正确剪切列表并显示按钮,但此按钮仅在第一次出现时才能正常工作。如果您尝试单击所有其他“查看更多”按钮,它只会展开第一个列表,而不是应该展开的列表。

我想这与 ID 和类有关,但到目前为止我还没有找到任何解决方案。

     <div class="article-list">
         {% for article in issue.articles|slice:":4" %}
          <div class="section-article">
            <a href="{{ article.get_absolute_url }}"><p class="name">{{article.title}}</p></a>

            {% for author in article.contributors.all %}
              <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a>
            {% endfor %}
          </div>
         {% endfor %}

         <!-- if there are more than 5 articles in an issue -->
         {% if issue.articles|slice:"5:" %}

            <!-- create a collapse div -->
             <div id="collapsearticle_{{ issue.id }}" class="collapse">
               {% for article in issue.articles|slice:"5:" %}
                 <div class="section-article">
                   <a href="{{ article.get_absolute_url }}"><p class="name">{{article.title}}</p></a>
                   {% for author in article.contributors.all %}
                     <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a>
                   {% endfor %}
                 </div>
               {% endfor %}
             </div>

             <div class="text-center">
               <div class="btn" data-toggle="collapse" data-target="#collapsearticle_{{ issue.id }}"> View more &#8964; </div>
             </div>

         {% endif %}

       </div>

【问题讨论】:

    标签: html css django twitter-bootstrap twitter-bootstrap-3


    【解决方案1】:

    它基于下面的示例工作。也许你可以在浏览器上查看 issue_id

    <div id="collapsearticle_1" class="collapse">
      <div class="section-article">
        <a href="{{ article.get_absolute_url }}"><p class="name">{{article.title}}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
      </div>
    </div>
    
    <div class="text-center">
      <div class="btn" data-toggle="collapse" data-target="#collapsearticle_1"> View more &#8964; </div>
    </div>
    
    <div id="collapsearticle_2" class="collapse">
      <div class="section-article">
        <a href="{{ article.get_absolute_url }}"><p class="name">{{article.title}}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
        <a href="{{ author.get_absolute_url }}"><p class="no-decoration author">{{ author.name }}</p></a> 
      </div>
    </div>
    
    <div class="text-center">
      <div class="btn" data-toggle="collapse" data-target="#collapsearticle_2"> View more &#8964; </div>
    </div>
    

    【讨论】:

    • 我实际上不能这样做,因为网页不是静态的,而是从另一个文件中提取问题(以及其中的文章)来填充页面。所以我实际上不能让某些问题列表可折叠,而是必须创建一个函数来识别列表何时过长并相应地折叠
    • 您打开网站并检查 div id 的检查元素,它是否相应显示。我猜你正在使用模板引擎(树枝?)。从我的代码中,折叠工作正常,这意味着模板的输出与
      ===> {{ issue.id 存在一些问题}} 检查 {{ issue.id }} 的输出,看看是否正确
    猜你喜欢
    • 2017-11-16
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    • 2017-08-12
    • 2016-12-18
    • 1970-01-01
    相关资源
    最近更新 更多