如何在jquery中从函数中发送变量值

时间:2014-11-28 09:13:24

标签: jquery

我定义了一个全局变量并在函数中更改其值并尝试在另一个函数中使用它,但输出是(未定义)。

继承我的代码:

var screenWidth;
var thumbNumber;

window.onresize = function() {

    screenWidth = window.innerWidth +'px';

    if(screenWidth >= 1201 + 'px') {
        thumbNumber = 4;
    }
    else if(screenWidth <= 1200 + 'px') {
        thumbNumber = 6;

    }
}


$(function() {
    $div = null;
    $('#thumbs2').children().each(function(i) {

        if ( i % thumbNumber == 0) {
            $div = $( '<div />' );
            $div.appendTo( '#thumbs2' );
        }
        $(this).appendTo( $div );
        $(this).addClass( 'itm'+i );
        $(this).click(function() {
            $('#images2').trigger( 'slideTo', [i, 0, true] );
        });
    });
}); 

1 个答案:

答案 0 :(得分:0)

这里有两件事你需要做。

1.在jquery中将$(document).ready(){}函数中的所有代码放在最佳选择中。因此,请将window size代码计算到$(document).ready(){}函数中。

2.如果您比较值的条件是错误的。 if条件不评估方程式。请从+PXif条件

中删除else
$(function() {
    var screenWidth;
    var thumbNumber;

    window.onresize = function() {

        screenWidth = window.innerWidth +'px';

        if(screenWidth >= '1201px') {
            thumbNumber = 4;
        }
        else if(screenWidth <= '1200px') {
            thumbNumber = 6;

        }
    }
 });   

    $(function() {
        $div = null;
        $('#thumbs2').children().each(function(i) {

            if ( i % thumbNumber == 0) {
                $div = $( '<div />' );
                $div.appendTo( '#thumbs2' );
            }
            $(this).appendTo( $div );
            $(this).addClass( 'itm'+i );
            $(this).click(function() {
                $('#images2').trigger( 'slideTo', [i, 0, true] );
            });
        });
    });