Pau*_*aul 11 javascript php jquery image jquery-masonry
我发现这个模板演示了我对jquery砌体和图像布局的问题.看一下这个twitter bootstrap模板页面:
第一次加载页面时,所有图像都相互堆叠,直到页面刷新或重新调整大小为止.然后正确显示图像.
这是我的HTML和jQuery有同样的问题:
<div class="gallery-masonry masonry" style="position: relative; min-height:100px; height: auto;">
<div id="loading">Loading ...</div>
</div>
Run Code Online (Sandbox Code Playgroud)
$.post("functions/photo_functions.php", { f: 'getallphotos'}, function(data) {
$('#loading').hide();
if(data) {
$.each(data.images, function(i, image) {
var img_block = '<div class="item masonry-brick" style="position: absolute; top: 0px; left: 0px;">' +
'<a href="#" class="thumbnail"><img src="'+image.url+'" alt=""></a>' +
'<div class="actions">' +
'<a title="" href="#" class="tip-top" data-original-title="Edit"><i class="icon-pencil icon-white"></i></a>' +
'<a title="" href="#" class="tip-top" data-original-title="Remove"><i class="icon-remove icon-white"></i></a>' +
'</div>' +
'</div>';
$(".gallery-masonry").append(img_block);
});
$('.gallery-masonry').masonry({
itemSelector: '.item',
isAnimated: true,
isFitWidth: true
});
}
}, "json");
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样,我该如何解决?
Tam*_*n C 16
加载所有图像后,使用imagesLoaded()触发砌体.(imagesLoaded()由脚本http://github.com/desandro/imagesloaded提供.)
$('.gallery-masonry').imagesLoaded( function(){
$('.gallery-masonry').masonry({
itemSelector: '.item',
isAnimated: true,
isFitWidth: true
});
});
Run Code Online (Sandbox Code Playgroud)
接受的答案缺少步骤.所以这是一步一步的.
```[调整你的javascript文件的路径]
<script src="/js/masonry.pkgd.min.js"></script>
<script src="/js/imagesloaded.pkgd.min.js"></script>
<script>
$('.gallery-masonry').imagesLoaded( function(){
$('.gallery-masonry').masonry({
itemSelector: '.item',
isAnimated: true,
isFitWidth: true
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9990 次 |
| 最近记录: |