jquery准备好可变文档

时间:2013-04-12 22:22:37

标签: jquery variables jquery-isotope

我有一个问题是在文档就绪时得到一个计算变量。

我将容器宽度除以一个数字,然后我需要存储这个值,然后在之后使用它。

这里是剧本:

$(document).ready(function() {

var $layout = $('.container-scroll');
var $container = $('#container');
var $items = $('.element');
var $filter = $('#filter a');

function checkWidth() {

var windowSize = $(window).width(); 

if (windowSize <= 960) {    
    var $layout = $('.container-scroll');
    var colW = Math.round(($layout.width())/3)-1;       
    var ElementWidth = colW;
    var ElementHeight = Math.round(colW*0.6);
    $(".element").height(ElementHeight);
    $(".element").width(ElementWidth);  
    $(".element.square").height(ElementHeight * 2);
    $(".element.square").width(ElementWidth * 2);
    $(".element.wide").height(ElementHeight);
    $(".element.wide").width(ElementWidth * 2);
}
else if (windowSize > 960 && windowSize <= 1280 ) {
    var $layout = $('.container-scroll');
    var colW = Math.round(($layout.width())/4)-1;       
    var ElementWidth = colW;
    var ElementHeight = Math.round(colW*0.6);
    $(".element").height(ElementHeight);
    $(".element").width(ElementWidth);  
    $(".element.square").height(ElementHeight * 2);
    $(".element.square").width(ElementWidth * 2);
    $(".element.wide").height(ElementHeight);
    $(".element.wide").width(ElementWidth * 2);
}
else if (windowSize > 1280 && windowSize <= 1600 ) {
    var $layout = $('.container-scroll');
    var colW = Math.round(($layout.width())/5)-1;   
    var ElementWidth = colW;
    var ElementHeight = Math.round(colW*0.6);
    $(".element").height(ElementHeight);
    $(".element").width(ElementWidth);  
    $(".element.square").height(ElementHeight * 2);
    $(".element.square").width(ElementWidth * 2);
    $(".element.wide").height(ElementHeight);
    $(".element.wide").width(ElementWidth * 2);
}
else if (windowSize > 1600 ) {
    var $layout = $('.container-scroll');
    var colW = Math.round(($layout.width())/6)-1;   
    var ElementWidth = colW;
    var ElementHeight = Math.round(colW*0.6);
    $(".element").height(ElementHeight);
    $(".element").width(ElementWidth);  
    $(".element.square").height(ElementHeight * 2);
    $(".element.square").width(ElementWidth * 2);
    $(".element.wide").height(ElementHeight);
    $(".element.wide").width(ElementWidth * 2);
}
}

function checkIsotope() {
$container.isotope({
    perfectMasonry: {
    columnWidth: colW,
    rowHeight: colW,
    },
    masonryHorizontal: {
    rowHeight: colW,
    }
});
}

checkWidth();
checkIsotope();
var colW;
alert(colW)

$(window).smartresize(function() {
    checkWidth();
    checkIsotope()
})

}

我想得到var colW以便在同位素布局中定义我的columnWidth和rowHeight。

当我在colW上发出警报时,colW未定义......

1 个答案:

答案 0 :(得分:2)

var colW是一个局部变量

尝试将其移出您的功能

像这样定义你的var:

var colW;
$(document).ready(function() {
......

并在你的函数中使用它

colW = Math.round(($layout.width())/4)-1; 

您现在应该可以将此var用于警报。