我正在使用https://github.com/GBKS/Wookmark-jQuery做一些动态布局,我还在窗口调整大小上附加了一个函数:
var $windowWidth = $window.width();
var options = {
itemWidth: 100,
autoResize: true,
container: $('#tiles'),
offset: 5,
outerOffset: 0,
flexibleWidth: '30%'
};
if ($windowWidth >= 768 && $windowWidth <= 1200) {
options.itemsize = 200;
options.offset = 7;
} else if ($windowWidth > 1200) {
options.itemsize = 300;
options.offset = 10;
}
$('#tiles li').woodmark(options); <-- this is fine
但我想创建一个函数来返回属性:
function getOptions() {
var $windowWidth = $(window).width();
var sizes = {
itemsize: 100,
offset: 5,
autoResize: true,
outerOffset: 0,
flexibleWidth: '30%'
};
if ($windowWidth >= 768 && $windowWidth <= 1200) {
sizes.itemsize = 200;
sizes.offset = 7;
} else if ($windowWidth > 1200) {
sizes.itemsize = 300;
sizes.offset = 10;
}
return sizes;
}
$('#tiles li').wookmark(getOptions); <-- doesn't work
$('#tiles li').wookmark(function() { getOptions }); <-- doesn't work
wookmark中的所有代码示例都是作为jquery插件完成的,普通断点在chrome检查器中不起作用..
答案 0 :(得分:0)
您需要传递.wookmark()
一个对象,而不是一个函数。调用时,getOptions()
返回一个对象。当你执行$('#tiles li').wookmark(getOptions);
时,插件不知道如何处理你传递它的函数,它想要一个对象。
试试这个:
$('#tiles li').wookmark(getOptions());