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

如何在jquery中将变量值发送出函数,jquery,Jquery,我已经定义了一个全局变量,并在一个函数中更改了它的值,试图在另一个函数中使用它,但输出是(未定义的) 这是我的密码: var screenWidth; var thumbNumber; window.onresize = function() { screenWidth = window.innerWidth +'px'; if(screenWidth >= 1201 + 'px') { thumbNumber = 4; } else

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

这是我的密码:

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] );
        });
    });
}); 
var屏幕宽度;
变异数;
window.onresize=函数(){
screenWidth=window.innerWidth+'px';
如果(屏幕宽度>=1201+‘px’){
指数=4;
}

else if(screenWidth这里有两件事你需要做

1.在
jquery
中,将所有代码放在
$(文档)中。ready(){}
函数是最佳选择。因此,将您对
窗口大小的计算放入
$(文档)中。ready(){}
函数

2.在if条件下,您比较的值是错误的。
if
条件不计算公式。因此,从
if
else
条件中删除
+PX

$(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] );
            });
        });
    }); 
$(函数(){
屏幕宽度;
变异数;
window.onresize=函数(){
screenWidth=window.innerWidth+'px';
如果(屏幕宽度>='1201px'){
指数=4;
}

else if(screenWidth Remove
+'px'
无处不在。然后在domready事件上调用resize事件上定义的处理程序。否则将不会设置
thumbnumber
。我猜
thumbnumber
是否在第二个函数中
未定义
窗口。resize
未触发(尚未触发)当你的第二个函数被触发时,变量是未定义的。
。你的函数在页面加载时运行。而你的变量在稍后调整窗口大小时会发生变化。@putvande…你说得对。现在我得到了答案。我还需要在调整窗口大小时运行第二个函数。