我有一个我想要实现的rails应用。
如果conditions limit(4)
显示4个div元素,如何自动显示静态div元素?我想要实现的是,当4个帖子框在浏览器中显示时,这将只显示Apply for our Program
div元素的静态元素。
<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元素。
<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函数来显示静态元素?
发布于 2020-07-16 17:08:17
不需要任何JS。只需将第二个div放入
<% if @posts.count >= 4 %>
...
<% end %>
发布于 2020-07-16 17:14:57
如果你需要动画,或者基于其他事件而不是帖子数量来管理显示/隐藏,你可以使用Javascript来实现这一点。
我将在jQuery中向您展示,但是使用普通的JS可以很容易地实现这一点
<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>
哪里
.hidden { display:none; }
.show { display: block; }
然后在JS中
$(function() {
const nH2 = $('H2').length;
const $box = $('.box--apply');
if(nH2 >= 4) {
$box.removeClass('hidden').addClass('show');
}
});
并且,逻辑可以根据您的需求进行扩展。
https://stackoverflow.com/questions/62931114
复制相似问题