3

我正在使用砖石(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”时,如果语句没有正确加载,砌体只做 1 列(OK)但图像有相同else 语句的宽度,我需要将图像做得更大

我能怎么做 ?

pd:对不起我的英语,我来自西班牙!

4

1 回答 1

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');   
        }
      }

试试那个代码,希望它有效

于 2012-10-16T10:19:26.493 回答