1

第一次玩 JS/jQuery。我无法让 Masonry 参与我的 Rails 项目。该脚本似乎没有加载。我知道我们不必加载 jQuery,因为它是 Rails 默认的。

index.html.erb

<script src="/path/to/jquery.masonry.min.js"></script>

<script>
var $container = $('#allreview_container_reviewindex');
$container.imagesLoaded(function(){
  $container.masonry({
    itemSelector : '.eachreview_container_reviewindex',
   // columnWidth : 240
  });
});
</script>

<% if !@reviews.blank? %>
  <div id="allreview_container_reviewindex">
  <% @reviews.each do |review| %>
    <div class="eachreview_container_reviewindex">
       //Image + text
    </div>            
  <% end %>
  </div>
<% end %>

宝石文件

gem 'jquery-rails'

资产/javascripts/jquery.masonry.min.js

//I copied the source from http://masonry.desandro.com/

知道我在哪里搞砸了吗?

编辑:我检查以确保 jquery.masonry.min.js 正在通过资产管道加载 - 它正在加载但脚本无法为我提供 Pinterest 布局。

4

1 回答 1

2

让它工作。不得不像这样封闭脚本:

$(function () {
  var $container = $('#allreview_container_reviewindex');
    $container.imagesLoaded(function(){
      $container.masonry({
       itemSelector : '.eachreview_container_reviewindex',
       //columnWidth : 240
    });
  });
});
于 2012-09-09T20:23:35.483 回答