我找到了一个 Ruby on Rails Web 应用程序 here
Github repo here
它动态地将数据添加到不同的列。因为我想让网格布局 (Bootstrap) 即使在列高相同的情况下也能响应,所以我使用了一种 Javascript 方法,它位于主体末尾之前的脚本标签之间。
$(document).ready(function() {
var heights = $(".prodcol").map(function() {
return $(this).height();
}).get(),
maxHeight = Math.max.apply(null, heights);
$(".prodcol").height(maxHeight);
});
此代码在使用 Chromium 或 Firefox 的 Xubuntu 开发服务器上运行良好。当上传到 Heroku 并使用 Windows 和 Chrome 或 Firefox 时,相同的高度列脚本有时有效或有时无效(通过刷新页面)。否则,列将具有不同的高度。我已经尝试将脚本更改为 onload()、load() 和可能的其他监听器,但这种方式根本不起作用。
我觉得很奇怪,它只是有时有效,而且它与 Chromium 完美配合。有人能指出它是什么吗?感谢您的帮助,我已经被困在这个问题上好几个小时了,我慢慢地变得绝望了。
编辑:现在我决定使用固定高度并限制列类的字符限制和 img 大小,因为到目前为止无法解决问题,因此 Heroku 链接将正确显示。
最佳答案
对于 turbolinks,我发现使用 $(document).ready
会导致问题,您可以尝试使用:
$(document).on('ready page:load',function(){})
关于Javascript 代码有时只运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35588445/