Перезапись переменной JQuery в цикле, хотите сохранить разные значения - PullRequest
1 голос
/ 02 февраля 2012

Я создаю видео галерею и у меня есть 6 миниатюр, которые при нажатии будут воспроизводить соответствующее видео в фрейме на странице.

Эти 6 миниатюр меняются, когда пользователь переходит на следующую страницувидео, загружая новые ссылки, хранящиеся в XML-документе.

var linkhtml=x[i].getElementsByTagName("linkhtml")[0].childNodes[0].nodeValue;

Я перебираю 6 элементов из XML и изменяю миниатюру <td id="videoBox[1-6]"> следующим образом:

$('#videoBox' + j).mousedown(function () {
    frames['videoPlayer'].playVideo(linkhtml, videoPlaylist);
});

Однако это не работает, так как когда я нажимаю на любую из миниатюр, она вызывает любой последний linkhtml, так что 6-е видео на странице.

Как я могу сохранить каждую миниатюру для сохраненияего ссылка правильно?

1 Ответ

0 голосов
/ 02 февраля 2012

Используйте анонимную функцию для создания замыкания, которое фиксирует значение переменной в это время:

(function(linkhtml){

  $('#videoBox' + j).mousedown(function () {
    frames['videoPlayer'].playVideo(linkhtml, videoPlaylist);
  });

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