0

大家好,

(头部)

<script type="text/javascript">

function ChangeColor1(elementid)
{
document.getElementById(elementid).style.backgroundImage = "url('images/1.jpg')";
document.getElementById("<%= img2.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img3.ClientID%>").style.backgroundImage = "url'images/2.jpg')";
document.getElementById("<%= img4.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= imgchange.ClientID%>").style.backgroundImage = "url('images/img1.JPG')";
}

function ChangeColor2(elementid) 
{
document.getElementById(elementid).style.backgroundImage = "url('images/1.jpg')";
document.getElementById("<%= img1.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img3.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img4.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= imgchange.ClientID%>").style.backgroundImage = "url('images/img2.JPG')";
}

function ChangeColor3(elementid)
{
document.getElementById(elementid).style.backgroundImage = "url('images/1.jpg')";
document.getElementById("<%= img1.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img2.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img4.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= imgchange.ClientID%>").style.backgroundImage = "url('images/img3.JPG')";
}
function ChangeColor4(elementid)
{
document.getElementById(elementid).style.backgroundImage = "url('images/1.jpg')";
document.getElementById("<%= img2.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img3.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img1.ClientID%>").style.backgroundImage =  "url('images/2.jpg')";
document.getElementById("<%= imgchange.ClientID%>").style.backgroundImage = "url('images/img4.JPG')";
}
</script>

(身体的一部分)

<table>
<tr>
<td id="img1" runat="server" onmouseover="ChangeColor1(this.id)" 
    style="background-image: url('images/2.jpg')">
</td>
</tr>  
<tr>
<td id="img2" runat="server" onmouseover="ChangeColor2(this.id)" 
    style="background image: url('images/2.jpg')">
</td>
</tr>
<tr>
<td id="img3" runat="server" onmouseover="ChangeColor3(this.id)" 
    style="background-image: url('images/2.jpg')">
</td>
</tr>
<tr>
<td id="img4" runat="server" onmouseover="ChangeColor4(this.id)" 
    style="background-image: url('images/2.jpg')">
</td>
</tr>
</table>

此代码在 .ASPX 页面中运行良好。

但是当我把这个脚本代码放在 .js 文件中并在 .ASPX 页面的头部调用它时,这个 .js 文件不能正常工作。

td的ID=img2, ID=img3, ID=img4没有传入 .js 文件。

如何在 .js 文件中传递所有 ID ???

4

2 回答 2

1

在 aspx 页面上写

<script>
var img1 = '<%= img1.ClientID%>';
var img2= '<%= img2.ClientID%>';
var img3= '<%= img3.ClientID%>';
var img4= '<%= img4.ClientID%>';
var imgchange= '<%= imgchange.ClientID%>';
</script>

在 .js 文件中做

function ChangeColor1(elementid) {
document.getElementById(img1).style.backgroundImage = "url('images/1.jpg')";
document.getElementById(img2).style.backgroundImage = "url('images/2.jpg')";
document.getElementById(img3).style.backgroundImage = "url('images/2.jpg')";
document.getElementById(img4).style.backgroundImage = "url('images/2.jpg')";
}

试试这个它会帮助你

于 2013-08-21T13:01:24.333 回答
1

问题是 ASP.NET 不会处理您的 JS 文件并填写占位符。

一种解决方案是强制 ID 保持静态,例如:

<td id="img4" runat="server" clientidmode="static" onmouseover="ChangeColor4(this.id)" 
    style="background-image: url('images/2.jpg')">
</td>

clientidmode="static"属性告诉 ASP.NET 不要破坏 ID。然后你甚至根本不需要使用<%= img1.ClientID%>

于 2013-08-21T09:28:57.483 回答