帮助我使用javascript变量的范围

时间:2010-11-18 22:34:14

标签: javascript jquery scope

如何让变量“theOffset”在“localScroll”函数中起作用。这是我的非工作代码:

jQuery(function( $ ){
    //initialize variable "theOffset"
    theOffset = 10; // <-- sets variable for inside of "localScroll" function

        $(window).resize(function() {
            theOffset = 20; // <-- does NOT reset inside "localScroll" function
        }); // end of window resize


    $.localScroll({
            target: '#content', 
            duration:1500,
            hash:true,
            offset: {top:0, left: theOffset}, // <-- I want to reset this on window resize 
            onBefore:function( e, anchor, $target ){
            },
            onAfter:function( anchor, settings ){
            }
    });
});

1 个答案:

答案 0 :(得分:1)

有几点指示:

使用所有{}创建对象。虽然它可能看起来像简单的功能,但它们不是。

offset是传递给$ .localScroll

的对象的属性

一种想法是将对象(传递给$ .localScroll)放在$ .localScroll之外,将其设置为变量,并引用该变量。

不确定这是否可以正常工作,可能不得不跳过一两圈还是。

有些事情:

var theOffset = {
...
offset: {top:0, left: whatever},
...
};

$(window).resize(function() {
theOffset.offset = 20;
});

$.localScroll(theOffset);