今天写了一段JS代码,功能是向一个DIV中插入一组img,单击某个img就跳转到相应的页码,代码大致如下(省略了移动位置的代码):
border.onclick = function() {
var pageindex = this.id.substring(7);
ToSelectedPage(parseInt(pageindex ));
};
这样倒是好了,可总觉得看着不舒服,这是js的bug,还是我对js理解不深?
var border = null;
var divimage = document.getElementById("divcontainer");
for (var i = 0;i < maxcount; i++)
{
border = document.createElement("img");
border.id = "lborder" + i;
border.src = "images/border.gif";
border.alt = "第" + i + "页";
border.onclick = function() {ToSelectedPage(i);};
divimage.appendChild(border);
}
看起来似乎很简单,不过运行后我就发现虽然img的alt属性是对的,但单击后,总是跳转到最后一页,而且不伦我换什么变量到那里都一样,甚至把 border换成数组也一样。无奈,虽然想不通为什么会这样,也只好屈服于现实,把单击事件改了下:var divimage = document.getElementById("divcontainer");
for (var i = 0;i < maxcount; i++)
{
border = document.createElement("img");
border.id = "lborder" + i;
border.src = "images/border.gif";
border.alt = "第" + i + "页";
border.onclick = function() {ToSelectedPage(i);};
divimage.appendChild(border);
}
border.onclick = function() {
var pageindex = this.id.substring(7);
ToSelectedPage(parseInt(pageindex ));
};
这样倒是好了,可总觉得看着不舒服,这是js的bug,还是我对js理解不深?