我正在创建一个视频库,并具有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);