2010-10-22 2 views
0

Как это достичь?Обновить глобальную переменную из другого модуля в javascript?

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

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

Могу ли я сделать следующее, чтобы обновить «элемент» из модуля лайтбокса?

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

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

+0

Ваш код синтаксически некорректен. Вы не можете оставить символ '()' в выражении функции. Пожалуйста, исправьте это. –

ответ

1

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

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')); 

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

+0

Я предполагаю, что это в основном это. tooltip и lightbox являются объектами, каждый в отдельном файле. Просто начал учиться, поэтому я все еще нахожу свой путь. – Joann

+0

no element - глобальная переменная ... спасибо! – Joann

+0

@ Джанн: Не знаю, понимаю ли я. В исходном коде 'element' не является глобальной переменной. Он локален для анонимной функции. Вы не можете изменить его так, как вы описали свой исходный код. –

Смежные вопросы