我正在使用砌体(jquery)并且一切正常,但我正在选择“停用”砌体,我使用这个:
function box(box_width) {
if(box_width == 1) {
$('#contenedor').masonry('option', { columnWidth: function() { return 550; }});
$('#contenedor').masonry('reload');
}
else {
var gutter = 55;
var min_width = 250;
$('#contenedor').masonry('option', {
columnWidth: function( containerWidth ) {
var num_of_boxes = (containerWidth/min_width | 0);
var box_width = (((containerWidth - (num_of_boxes-1)*gutter)/num_of_boxes) | 0) ;
if (containerWidth < min_width) {
box_width = containerWidth;
}
$('.imagen').width(box_width);
return box_width;
}
});
$('#contenedor').masonry('reload');
}
}
我有2个按钮将1或2发送到功能框(),问题是当尝试发送“1”时,if句子没有正确加载,砌体只做1列(OK)但是图像具有相同的else句子宽度,我需要做更大的图像
我该怎么办?
pd:对不起我的英语,我来自西班牙!
答案 0 :(得分:0)
检查是否将整数或字符串传递给函数。你应该确保传递的值也是一个整数。
function box(box_width_str) {
var box_width = parseInt(box_width_str);
if(box_width == 1) {
$('#contenedor').masonry('option', { columnWidth: function() { return 550; }});
$('#contenedor').masonry('reload');
}
else {
var gutter = 55;
var min_width = 250;
$('#contenedor').masonry('option', {
columnWidth: function( containerWidth ) {
var num_of_boxes = (containerWidth/min_width | 0);
var box_width = (((containerWidth - (num_of_boxes-1)*gutter)/num_of_boxes) | 0) ;
if (containerWidth < min_width) {
box_width = containerWidth;
}
$('.imagen').width(box_width);
return box_width;
}
});
$('#contenedor').masonry('reload');
}
}
尝试使用该代码,希望它能正常工作