我已经尝试使用 Masonry 网站上的两个文件以及 masonry-rails gem,但遇到了同样的问题。
基本上,当我调整浏览器窗口的大小时,框不会移动以适应新的页面大小。相反,我只是让滚动条出现在浏览器中。
我知道文件加载正常,并且选择了正确的选择器,因为如果我改变了 masonry() 参数中的列宽,当我加载页面时,这些框会出现在不同的位置。
另外,如果相关的话,我正在使用 Bootstrap,但我已经命名了选择器,因此它们不会与为引导程序保留的选择器发生冲突 - 例如使用#masonry-container 而不是#container。
任何帮助将不胜感激,谢谢!
应用程序.js:
//= require masonry/jquery.masonry
留言板/显示:
<div id="show-message-board">
<%= render :partial => "show_message_board", :locals => { :messages => current_user.messages }, :remote => true %>
</div>
<script>
$(function(){
$('#masonry-container').masonry({
// options
itemSelector : '.item',
columnWidth : 50,
isAnimated: true
});
});
</script>
_show_message_board.html.erb:
<div id="masonry-container" class="transitions-enabled infinite-scroll clearfix">
<% messages.each do |message| %>
<div class="item">
<p class="message_from"><%= message.user.first_name %> <%= message.user.last_name %>:</p>
<p class="message_content"><%= message.content %></p>
</div>
<% end %>
编辑:
我已经尝试按照其他地方的建议使用以下内容,但这仍然不起作用!:
$(function(){
var $container = $('#masonry-container');
$container.imagesLoaded( function(){
$container.masonry({
itemSelector : '.item'
});
});
});