从数据库提取图片 用js实现放大 只有第一个放大其他的都没有 大家帮帮忙
代码如下:<%
.....
If not adoRS.eof Then  
newslist=newslist&"<div id=""demo""><li style='width:160px; height:170px;'><A HREF=""pic_read.asp?id="&adoRS("news_id")&"""><img src='"&adoRS("news_pic")&"' width=155 height=150 alt="&adoRS("news_title")&"></A><p><A HREF=""pic_read.asp?id="&adoRS("news_id")&""">"&left(adoRS("news_title"),10)&"</A></p></li></div><div id=""enlarge_images""></div>" adoRS.MoveNext
end if
.....
%>
......
<ul>
<%=newslist%>
</ul><script language="javascript">
var demo = document.getElementById("demo");
var gg = demo.getElementsByTagName("img");
var ei = document.getElementById("enlarge_images");
for(i=0; i<gg.length; i++){
var ts = gg[i];
ts.onmousemove = function(event){
event = event || window.event;
ei.style.display = "block";
ei.innerHTML = '<img src="' + this.src + '" />';
ei.style.top = document.body.scrollTop + event.clientY + 10 + "px";
ei.style.left = document.body.scrollLeft + event.clientX + 10 + "px";
}
ts.onmouseout = function(){
ei.innerHTML = "";
ei.style.display = "none";
}
ts.onclick = function(){
window.open( this.src );
}
}
</script>.......

解决方案 »

  1.   


    <script language="javascript">
    var demo = document.getElementById("demo");
    var gg = demo.getElementsByTagName("img");
    var ei = document.getElementById("enlarge_images");
    for(i=0; i<gg.length; i++){
    var ts = gg[i];
    ts.onmousemove = function(event){
    event = event || window.event;
    ei.style.display = "block";
    ei.innerHTML = '<img src="' + this.src + '" />';
    ei.style.top = document.body.scrollTop + event.clientY + 10 + "px";
    ei.style.left = document.body.scrollLeft + event.clientX + 10 + "px";
    }
    ts.onmouseout = function(){
    ei.innerHTML = "";
    ei.style.display = "none";
    }
    ts.onclick = function(){
    window.open( this.src );
    }
    }
    </script>我怀疑你这个js 写的有问题你把事件都放在循环里。。它是先执行循环呢还是事件呢还有就是你可以再触发事件的时候去测试一下当前的ts是什么