我知道这已被问过百万次了。我查看其他主题以寻求解决方案,到目前为止我无法修复它。
我正在使用Masonry开发网格系统,如pinterest和google图像。它工作正常。图像在Firefox上正常加载,但在Chrome / Safari中,它们重叠,直到我刷新页面。这很奇怪,因为图像在我的iphone上加载很好(直到我刷新页面并且它们重叠)。
另外我只是注意到Firebug在imagesloaded脚本中给出了一个错误。这一行。
} else if ( typeof obj.length === 'number' ) {
这是我的页面设置。
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/>
<title>Home page</title>
<meta name="description" content="description here" />
<link rel="stylesheet" href="css/global.css" media="screen" />
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<!-- external jQuery file to fall back on !-->
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="js/masonry.pkgd.min.js"></script>
<script src="js/imagesloaded.pkgd.js"></script>
<script>
var container = document.querySelector('#container');
var msnry;
// initialize Masonry after all images have loaded
imagesLoaded( container, function() {
msnry = new Masonry( container );
});
</script>
</head>
<body>
<section id="container" class="js-masonry" data-masonry-options='{ "columnWidth": 30, "itemSelector": ".item" }'>
<h1 class="hidden">Main Container</h1>
<div class="item">
<img src="images/long.jpg">
</div>
<div class="item">
<img src="images/small.jpg">
</div>
<div class="item">
<img src="images/long.jpg">
</div>
<div class="item">
<img src="images/small.jpg">
</div>
<div class="item">
<img src="images/small.jpg">
</div>
<div class="item">
<img src="images/long.jpg">
</div>
<div class="item">
<img src="images/small.jpg">
</div>
<div class="item">
<img src="images/long.jpg">
</div>
<div class="item">
<img src="images/small.jpg">
</div>
</section>
</body>
</html>
总而言之,如何在刷新页面上修复此重叠问题?
PS。我应该提一下,在浏览器中,只有在我刷新使用时,图像才会重叠 ctrl + f5。普通刷新页面不会叠加图像。
答案 0 :(得分:1)
好的问题已经解决了。
我添加了以下脚本,现在它重新加载了。
<script>
$(window).load(function() {
var $container = $('#container');
$container.masonry({
itemSelector: '.item'
});
});
</script>