Обновить глобальную переменную из другого модуля в JavaScript? - PullRequest
0 голосов
/ 22 октября 2010

Как мне этого добиться?

У меня есть модуль с именем "tooltip", который имеет функцию "fade", которая, в свою очередь, использует глобальную переменную "element".Эта переменная является ссылкой на элемент DOM.Я хочу обновить его из другого модуля с именем "lightbox", чтобы я мог просто позволить функции "fade" обрабатывать эффект постепенного появления.Все мои модули объявлены с использованием замыкания.

    var tooltip = function{
       var element;
       return{
          fade: function(){ fade code goes here...}
       };
    }();

Могу ли я просто сделать следующее для обновления "элемента" из модуля лайтбокса?

tooltip.element = document.getElementByID('lightbox-con');

Нет кода jQuery, пожалуйста ...

1 Ответ

1 голос
/ 22 октября 2010

Если с модулем вы имеете в виду объект , то вы можете просто сделать так:

var tooltip = {
    element: null,
    fade: function() {
        //fade code goes here...
        // you can access the element via this.element
    }
}

, затем вы можете обновить элементкак вы описали:

tooltip.element = document.getElementByID('lightbox-con');

Но если element используется только в функции fade, вы можете также просто передать элемент этой функции:

var tooltip = {
    fade: function(element) {
       //fade code goes here...
    }
}

и делайте:

tooltip.fade(document.getElementByID('lightbox-con'));

Это зависит от того, что вы на самом деле хотите сделать.

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