Javascript 在完全加载之前,请隐藏图像

Javascript 在完全加载之前,请隐藏图像,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我试图隐藏我的砖石图像,直到页面完成加载,因为当前图像加载在屏幕左侧的长条带中,然后再组织它们自己 我似乎无法将容器隐藏起来,然后在其他所有内容加载后显示 以下是链接: 以下是我的代码片段(带有注释掉的代码,我尝试为隐藏/显示位实现这些代码): $(窗口).load(函数(){ var$container=$(“#砌体容器”); //初始化 $container.com({ //列宽:60, 排水沟:6, itemSelector:“.砌体项目” }); }) /* $(“#砌体容器”).hi

我试图隐藏我的砖石图像,直到页面完成加载,因为当前图像加载在屏幕左侧的长条带中,然后再组织它们自己

我似乎无法将容器隐藏起来,然后在其他所有内容加载后显示

以下是链接:

以下是我的代码片段(带有注释掉的代码,我尝试为隐藏/显示位实现这些代码):


$(窗口).load(函数(){
var$container=$(“#砌体容器”);
//初始化
$container.com({
//列宽:60,
排水沟:6,
itemSelector:“.砌体项目”
});
})
/*
$(“#砌体容器”).hide();
$container.imagesLoaded(函数(){
$(“#砌体容器”).show();
})          
*/

您应该在图像中包含您的砌体实例
imagesLoaded
如下所示:

var $container = $('#masonry-container');
$container.imagesLoaded(function(){
    $container.masonry({
         itemSelector: '.masonry-item',
         gutter: 6
    });
}); 

你试过的东西我都不懂

但是有一个javascript库是“imagesLoaded”。 那会对你有帮助的 我是这样做的

//  created a array with image and data
 var elemar  = [];
$.each(data, function(j,subData){

    var img = document.createElement('img');
    img.src = 'images.jpg';
    item.appendChild( img );                        
    elemar.push(item);
});

// loading div after image loaded
imagesLoaded(elemar).on( 'progress', function( imgLoad, image ) {
        var item = image.img.parentNode;        
        container.appendChild( item );// container is an javascript , $('#containerdiv'), where all div will be publish
        msnry.appended( item ); // msnry intializaion
        });
});   

为什么不直接调用包含元素的
imagesLoaded
?嘿,我是通过ajax获取数据的,所以首先我创建了dom元素,然后我插入了,b/c如果图像正在加载,我不想显示文本。嗯,这是一种有趣的方法。当我添加这个片段时,图像保持在左边的一行。编辑:我安装了imagesLoaded脚本,现在加载速度似乎更快了?一旦所有的图像都准备好了,有没有隐藏然后显示的方法?应该不会太快。也许你的图像只是被缓存了。默认情况下,加载时可以隐藏所有图像,但仍需要再次调用
$container.mashise()
,以便正确调整
.mashise项的大小。
//  created a array with image and data
 var elemar  = [];
$.each(data, function(j,subData){

    var img = document.createElement('img');
    img.src = 'images.jpg';
    item.appendChild( img );                        
    elemar.push(item);
});

// loading div after image loaded
imagesLoaded(elemar).on( 'progress', function( imgLoad, image ) {
        var item = image.img.parentNode;        
        container.appendChild( item );// container is an javascript , $('#containerdiv'), where all div will be publish
        msnry.appended( item ); // msnry intializaion
        });
});