Помогите мне с областью действия переменной javascript - PullRequest
0 голосов
/ 19 ноября 2010

Как заставить переменную "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 Ответ

1 голос
/ 19 ноября 2010

Пара указателей:

Создание объектов со всеми этими {}.Хотя это может выглядеть как простые функции, это не так.

offset - это свойство объекта, передаваемого в $ .localScroll

Одна мысль - создать объект (который передается в$ .localScroll) за пределами $ .localScroll, задайте для него переменную и создайте ссылку на эту переменную.

Не уверен, что это будет работать как есть, возможно, придется перепрыгнуть через обруч или два.

Что-то вроде:

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

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

$.localScroll(theOffset);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...