砌体与 Tumblr 中没有无限滚动的 ImagesLoaded 重叠
Masonry overlapping with ImagesLoaded without Infinite Scroll in Tumblr
第一次来。
我正在尝试使用 Masonry 插件创建包含 3 列的自定义 tumblr 主题,但进展并不顺利。这些帖子是重叠的,我什至没有使用 Infinite Scroll。我尝试使用 $(window).load(...) 但它没有用,我尝试使用 ImagesLoaded 但它也没有用,请帮助我 ^-^
这是页面加载的方式:http://s16.postimg.org/u17syta51/image.jpg, if I resize/refresh the page they go to the right position. This is my full code: http://pastebin.com/VLzwEfgP,我的测试 tumblr url 是 entertain-us.tumblr.com(我不能放置 +2 链接) . Obs: 主题还没有完成,不知道怎么解决这个问题
jQuery(这是</body>
之前):
var $container = ('section#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector: 'article.post',
columnWidth: 400,
isFitWidth: true,
});
});
CSS
section#container {
position: relative;
top: 50px;
max-width: 1250px;
height: auto;
padding: 0px;
}
article.post {
width: 400px;
margin: 5px;
margin-bottom: 10px;
opacity: 0.7;
}
article.post:hover {
opacity: 1;
}
将近 2 年我没有编程,所以如果我在代码中犯了任何愚蠢的错误,我将不胜感激哈哈
抱歉任何英文错误,感谢您的关注:D
--- 解决方案 ---
为了解决重叠问题,正如Macsupport所说,我只需要将Masonry代码放在$(document).ready中,这样
var $container = $('section#container');
$(document).ready(function(){
$container.imagesLoaded(function(){
$container.masonry({
columnWidth: 400,
itemSelector: 'article.post',
isFitWidth: true
});
});
});
我把 var $container = $('section#container');
放在 $(document).ready();
之前,因为脚本将我的容器宽度更改为 800px(仅制作 1 列),当我在激活脚本之前设置变量时,它不会改变它的宽度,我可以将 isResizeBound: false
放在砖石结构中,但我仍然会尝试根据 window 大小更改此布局,当我成功时我会在这里更新。但是现在重叠的问题已经解决了。
你的js有一些错误。
您在容器变量中缺少 jquery 的 $:
var $container = ('section#container');
应该是这样的:
var $container = $('section#container');
试试这个代码:
var $container = $('section#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector: 'article.post',
columnWidth: 400,
isFitWidth: true
});
});
附录
将此代码放入您的
$(document).ready(function(){
});
不在它之外,就像现在一样。
另外,你为什么重命名你的 imagesLoaded.js?
第一次来。 我正在尝试使用 Masonry 插件创建包含 3 列的自定义 tumblr 主题,但进展并不顺利。这些帖子是重叠的,我什至没有使用 Infinite Scroll。我尝试使用 $(window).load(...) 但它没有用,我尝试使用 ImagesLoaded 但它也没有用,请帮助我 ^-^ 这是页面加载的方式:http://s16.postimg.org/u17syta51/image.jpg, if I resize/refresh the page they go to the right position. This is my full code: http://pastebin.com/VLzwEfgP,我的测试 tumblr url 是 entertain-us.tumblr.com(我不能放置 +2 链接) . Obs: 主题还没有完成,不知道怎么解决这个问题
jQuery(这是</body>
之前):
var $container = ('section#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector: 'article.post',
columnWidth: 400,
isFitWidth: true,
});
});
CSS
section#container {
position: relative;
top: 50px;
max-width: 1250px;
height: auto;
padding: 0px;
}
article.post {
width: 400px;
margin: 5px;
margin-bottom: 10px;
opacity: 0.7;
}
article.post:hover {
opacity: 1;
}
将近 2 年我没有编程,所以如果我在代码中犯了任何愚蠢的错误,我将不胜感激哈哈
抱歉任何英文错误,感谢您的关注:D
--- 解决方案 ---
为了解决重叠问题,正如Macsupport所说,我只需要将Masonry代码放在$(document).ready中,这样
var $container = $('section#container');
$(document).ready(function(){
$container.imagesLoaded(function(){
$container.masonry({
columnWidth: 400,
itemSelector: 'article.post',
isFitWidth: true
});
});
});
我把 var $container = $('section#container');
放在 $(document).ready();
之前,因为脚本将我的容器宽度更改为 800px(仅制作 1 列),当我在激活脚本之前设置变量时,它不会改变它的宽度,我可以将 isResizeBound: false
放在砖石结构中,但我仍然会尝试根据 window 大小更改此布局,当我成功时我会在这里更新。但是现在重叠的问题已经解决了。
你的js有一些错误。
您在容器变量中缺少 jquery 的 $:
var $container = ('section#container');
应该是这样的:
var $container = $('section#container');
试试这个代码:
var $container = $('section#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector: 'article.post',
columnWidth: 400,
isFitWidth: true
});
});
附录
将此代码放入您的
$(document).ready(function(){
});
不在它之外,就像现在一样。 另外,你为什么重命名你的 imagesLoaded.js?