我正在创建一个视频库,并具有6个缩略图,单击这些缩略图将在页面上的iframe中播放相应的视频。

当用户转到视频的下一页并加载存储在XML文档中的新链接时,这6个缩略图会更改。

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


我遍历XML中的6个元素,并按如下方式更改缩略图<td id="videoBox[1-6]">

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


但是,这是行不通的,因为当我单击任何缩略图时,它会调用最后一个设置为linkhtml的内容,因此该页面上的第6个视频。

如何获取每个缩略图以正确保留其链接?

最佳答案

使用匿名函数创建一个闭包,该闭包可以捕获当时的变量值:

(function(linkhtml){

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

})(linkhtml);

09-25 20:13