Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2012, 20:45
Интересующийся
Отправить личное сообщение для Marv Посмотреть профиль Найти все сообщения от Marv
 
Регистрация: 09.08.2010
Сообщений: 19

Передать значение переменной, а не ссылку на нее
Есть функция, она создает несколько div'ов в цикле и добавляет им событие на onclick:
function(picsNum){
  for(var i = 0; i < picsNum; i++){
    $('<div class="controls"></div>').click(function(){slide('slideTo', i)}).appendTo($controls);
  }
}

Так вот, в функцию передается не значение i, а ссылка на i, то есть внутри slide i всегда равно picsNum + 1, а не 1, 2, 3... picsNum. Как передать значение переменной, а не ссылку на нее?
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2012, 21:00
Server
Отправить личное сообщение для Rootpassword Посмотреть профиль Найти все сообщения от Rootpassword
 
Регистрация: 26.09.2011
Сообщений: 252

Читать http://javascript.ru/basic/closure
там и ваш пример разобран
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2012, 21:51
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

в jquery у событий есть data
function(picsNum){
  for(var i = 0; i < picsNum; i++){
    $('<div class="controls"/>').bind(
        'click', 
        { index : i }, 
        function( event ){slide('slideTo', event.data.index)}).appendTo($controls);
  }
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как передать значение переменной в IFRAME в поле формы JS-ом из самой страницы? DeUre Общие вопросы Javascript 14 17.12.2013 16:37
В contains() не подставляется значение переменной Heger jQuery 2 11.12.2011 20:26
Как передать в функцию значение а не ссылку на переменную? Ghaniball Общие вопросы Javascript 4 02.09.2011 18:24
оператор return возвращает значение, а не ссылку. Vertuplatonium Общие вопросы Javascript 4 16.05.2011 14:02
как правильно передать значение переменной? kentnsk Общие вопросы Javascript 6 25.02.2011 11:49