所以,我试图想出一个类似radom的图像墙。我发现了一个名为Freewall的JQuery插件。
我能够想出这个:
每当我重新加载页面时,图像都会获得新的宽度和位置。它提供了一个很好的"随机"动画正在进行,但正如你在右边看到的那样,一个空的空间应该由前一个图像填充......有时候它甚至会产生3行而不是2行。
我使用的代码是从另一个来源复制并与我混淆的部分。我不太了解随机生成过程,因为它对我没有意义。但到目前为止......
这是当前的代码:
<div class="container">
<div id="freewall" class="free-wall bottomEq"></div>
<script type="text/javascript">
$(document).ready(function() {
var temp = "<a href='{url}'><div class='mosaic-cell' style='width:{width}px; height: {height}px; background-image: url(<?php print $baseDir; ?>{imgUrl}); '></div></a>";
var w = 1, html = '';
var categories = JSON.parse('<?php print json_encode($categories); ?>');
categories.shift();
categories.shuffle();
$.each(categories, function(index, category){
w = 200 + 400 * Math.random() << 0;
cTemp = temp.replace(/\{height\}/g, 200);
cTemp = cTemp.replace(/\{width\}/g, w);
cTemp = cTemp.replace("{imgUrl}", category.image.full);
html += cTemp;
});
$("#freewall").html(html);
var wall = new freewall("#freewall");
wall.reset({
selector: '.mosaic-cell',
animate: true,
cellW: 200,
cellH: 200,
onResize: function() {
wall.fitWidth();
}
});
wall.fitWidth();
// for scroll bar appear;
$(window).trigger("resize");
});
</script>
</div>
w = 200 + 400 * Math.random() << 0;
到底做了什么? << 0
?谢谢。