首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果Ruby on Rails中有设置的限制,如何显示特定的div元素

如果Ruby on Rails中有设置的限制,如何显示特定的div元素
EN

Stack Overflow用户
提问于 2020-07-16 16:58:01
回答 2查看 41关注 0票数 1

我有一个我想要实现的rails应用。

如果conditions limit(4)显示4个div元素,如何自动显示静态div元素?我想要实现的是,当4个帖子框在浏览器中显示时,这将只显示Apply for our Program div元素的静态元素。

代码语言:javascript
运行
复制
<div class="row">
    <% @posts.limit(4).each do |post| %>
        <h2> <% post.title %> </h2>
    <% end %>
</div

<div class="row">
   <div class="border-box">
      <h1>Apply for our Program</h1>
      <a href="#">Link to Program</a>
   </div>
</div

如果显示了4个帖子,我只想显示这个静态div元素。除非在post不等于4的情况下隐藏这个静态div元素。

代码语言:javascript
运行
复制
<div class="row">
   <div class="border-box">
      <h1>Apply for our Program</h1>
      <a href="#">Link to Program</a>
   </div>
</div

rails应用程序中是否有一个特殊的函数来计算显示的div,如果它等于4,则显示静态div元素。或者,如果计数等于4,我是否需要Jquery函数来显示静态元素?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-16 17:08:17

不需要任何JS。只需将第二个div放入

代码语言:javascript
运行
复制
<% if @posts.count >= 4 %>
...
<% end %>
票数 2
EN

Stack Overflow用户

发布于 2020-07-16 17:14:57

如果你需要动画,或者基于其他事件而不是帖子数量来管理显示/隐藏,你可以使用Javascript来实现这一点。

我将在jQuery中向您展示,但是使用普通的JS可以很容易地实现这一点

代码语言:javascript
运行
复制
<div class="row">
 <% @posts.limit(4).each do |post| %>
    <h2> <% post.title %> </h2>
 <% end %>
</div>

<div class="row box--apply hidden">
  <div class="border-box">
    <h1>Apply for our Program</h1>
    <a href="#">Link to Program</a>
  </div>
</div>

哪里

代码语言:javascript
运行
复制
.hidden { display:none; }
.show { display: block; }

然后在JS中

代码语言:javascript
运行
复制
$(function() {
  const nH2 = $('H2').length;
  const $box = $('.box--apply');

  if(nH2 >= 4) {
    $box.removeClass('hidden').addClass('show');
  }
});

并且,逻辑可以根据您的需求进行扩展。

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

https://stackoverflow.com/questions/62931114

复制
相关文章

相似问题

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