Переменные JQuery внутри цикла, вызванные вычислением имени ... возможно? - PullRequest
1 голос
/ 17 октября 2011

Следующий цикл генерирует переменную для каждого элемента div с классом .scrollable

var scrolls[];

$('.scrollable').each(function(){
                            this.id = 'scrollp' + (++orderit);
                            scrolls[ 'myScroll' + this.id ] = this.id;
                        });

Проблема в том, что мне нужно позвонить им позже, и мы не знаем, какой идентификатор был назначен, где. Я попробовал это.

setTimeout(function () {
                  $('.scrollable').each(function(){
                        scrolls[ 'myScroll' + $(this).attr('id')]_update();
                  });
                  }, 2500);

Но переменная неизвестна. FIREBUG :: отсутствует до утверждения. Я так понимаю, что он не может обработать имя переменной таким образом, но не знаю, как это исправить.

Ответы [ 4 ]

0 голосов
/ 11 июля 2012

Это сработало для меня:

$('.scrollable').tinyscrollbar().tinyscrollbar_update();
0 голосов
/ 17 октября 2011

Я думаю это:

setTimeout(function () {
              $('.scrollable').each(function(){
                    scrolls[ 'myScroll' + $(this).attr('id')]_update();
              });
              }, 2500);

Должно быть:

setTimeout(function () {
              $('.scrollable').each(function(){
                    scrolls[ 'myScroll' + $(this).attr('id')].tinyscrollbar_update();
              });
              }, 2500);
0 голосов
/ 18 октября 2011
$.each( $( '.scrollable' ), function( index, element ){
    $( element ).tinyscrollbar_update(); 
});

это работает?

0 голосов
/ 17 октября 2011

Использование

$('.scrollable').each(function(){
    $(this).tinyscrollbar_update(); 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...