我想在图片浏览时将鼠标放到图片上后显示一个DIV信息(也就是这张图片的放大版) 但总是报错,错误提示:document.all.Layer1.style为空或不是对象代码如下: <asp:TemplateColumn HeaderText="照片">
<ItemTemplate>
<div id="Layer1" style="position:absolute; width:300px; height:200px; visibility: hidden"><asp:Image width="300pt" height="200pt" Runat=server ID="Image3" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "CLID")) %>' /></div>
<a style="color:blue" onMouseOver="document.all.Layer1.style.display='none'" onMouseOut="document.all.Layer1.style.display='hidden'">
<asp:Image width="100pt" height="60pt" Runat=server ID="Image1" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "CLID")) %>' /></a>
</ItemTemplate>
</asp:TemplateColumn>

解决方案 »

  1.   

    右键,查看源文件
    看看你的DIV的ID是什么另外visibility: hidden --》 display:none隐藏
    document.getElementById("id").style.display='none';
    显示
    document.getElementById("id").style.display='';
      

  2.   

    你的DIV在客户端的ID不再是Layer1
      

  3.   

    onMouseOver="document.all.Layer1.style.display='none'" 
    这句话有问题,style.display='';才是显示。
      

  4.   

    document.getElementById("Layer1").style.display='';
      

  5.   

    document.getElementById("aa").style.display = "none" | "block" 不占空间
    document.getElementById("aa").style.visbility= "visible" | "hidden" 占空间
     另外,客户端ID已经不是 Layer1,有容器控件的前缀。