我遇到了这个非常棒的jquery插件,名为freewall(http://vnjs.net/www/project/freewall/),尽管它非常棒,但还是运行了一个糟糕的文档(至少从我的jquery-noob的角度来看)。
所以这是我的问题:我有这个简单的页面,有6-7个div,freewall按照规则排列。问题是我想让瓷砖的尺寸保持不变,因为当我调整浏览器窗口大小时它们会改变。我想要这个的原因是我最终会在这些瓷砖上放置一些图像和文字,然后以随机的方式调整它们的大小就可以了。但/ / p>
我尝试使用fix-size并以他们网站上描述的各种方式,但没有成功。我也不是很擅长jquery(我实际上在2天前拿起了js和jquery),所以请原谅我,如果我的问题是愚蠢的。
你能否给我一个简短的答案(如果你弄清楚fixSize有什么问题)?
这是我的代码: HTML:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="js/freewall.js"></script>
<script src="js/body.js"></script>
<style type="text/css">
#container{
width: 70%;
margin: auto;
}
.tile{
background: black;
width: 320px;
height: 320px;
}
</style>
</head>
<body>
<div id="container">
<div class="tile" id="1"></div>
<div class="tile" id="2"></div>
<div class="tile" id="3"></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
<div class="tile" id=""></div>
</div>
</body>
</html>
jquery的:
$(function(){
var wall = new freewall("#container");
wall.fitWidth(1140);
var fixd1 = $("#1");
var fixd2 = $("#2");
var fixd3 = $("#3");
wall.fixSize({
block: fixd1,
width: 150,
height: 150
});
wall.reset({
selector: '.tile',
cellW: 300,
cellH: 300,
animate: true,
gutterX: 12,
gutterY: 12,
onResize: function(){
this.fitWidth();
}
});
});
答案 0 :(得分:2)
如果没有在wall.reset({});中实现它,那fixSize就无法工作。这样说:
wall.reset({
fixSize:1;
// other options...
});
根据Freewall的选项文档:
fixSize:boolean
默认值:null
值为null或未设置允许块可以调整和调整大小以填补空白
值为0或false让块可以调整大小,但无法调整大小以填补空白。
值为1或者true让块将大小保持为init,无法调整大小以填补空白。
可以通过在块中设置data-fixSize属性来覆盖fixSize选项。
有两个fixSize:一个是方法,而另一个是选项。如果前者没有定义,第一个将不起作用。