我想动态显示项目列表,但按行的项目数取决于屏幕的宽度。 Each_slice 内的数量取决于屏幕尺寸... 如果大屏幕:
<% @posts.each_slice(3) do |s| %>
<div class="row">
<% s.each do |p| %>
<div class="small-12 medium-6 large-4 columns">
如果是中等屏幕:
<% @posts.each_slice(2) do |s| %>
<div class="row">
<% s.each do |p| %>
<div class="small-12 medium-6 large-4 columns">
任何人都知道如何在
中添加 js 变量each_slice("javascript vairable")
谢谢
最佳答案
我找到了办法。我使用 Jquery 检查窗口的大小:( CoffeeScript )
n=2
if $('body').width() > 1025
n = 3
if $('body').width() > 640
$(".break:nth-child("+n+"n").addClass "row"
html.erb 看起来像这样:
<div class="row">
<% @posts.each do |p| %>
<div class="break">
<div class="small-12 medium-6 large-4 columns">
然后使用 jquery 选择第 n 个 div 并添加一个类行。 它并不完美,但它有效。
关于javascript - Rails 4 在 erb 中传递 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23083144/