我有一个菜单,每个菜单项都有一张图片。这是一个项目中的一段代码:
<script type="text/javascript">
<!--
function changeImage(element, hoverImage) {
document.getElementById(element).src = hoverImage;
}
// -->
</script>
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Menu.ascx.cs" Inherits="UserControls_Menu" %>
<ul id="navmenu">
<li><a id="default" runat="server" href="~/Default.aspx"
onmouseover="changeImage('sideBar_Menu1_Image7', 'Images/Calendar32x32.png');"
onmouseout="changeImage('sideBar_Menu1_Image7', 'Images/Calendar24x24.png');">
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="height: 32px; width: 32px">
<asp:Image ID="Image7" runat="server" ImageUrl="~/Images/Calendar24x24.png" />
</td>
<td style="vertical-align: middle">
<asp:Label ID="Label6" runat="server" Text="CALENDAR" meta:resourcekey="Label6Resource1"></asp:Label>
</td>
</tr>
</table>
</a></li>当我运行我的应用程序时,当我在根文件夹中时,菜单上的图像将会加载,但当我在其他地方时,它们将不再加载。有没有办法在js中做到这一点?我真的不想现在就开始创建这么多css类来解决这个问题。
后来的编辑:解决方案由一个BL项目,一个乔布斯项目和名为CRM...when的网站在本地机器上运行,如果我写/CRM/图像/Image.png,它工作得很好,但当发布它时,它不是work...if我写/图像/图像.png它不能在本地主机上工作,但当发布时它可以工作...我不知道路径,因为它将被部署到更多的客户端,每个客户端将有一个不同的path...but我找到了一个解决方案,下面是代码
谢谢
发布于 2011-11-29 22:47:31
在URL前加上/以指示相对路径:
/Images/Calendar32x32.png
^ Add slash校正码:
<a id="default" runat="server" href="~/Default.aspx"
onmouseover="changeImage('sideBar_Menu1_Image7', '/Images/Calendar32x32.png');"
onmouseout="changeImage('sideBar_Menu1_Image7', '/Images/Calendar24x24.png');">https://stackoverflow.com/questions/8312700
复制相似问题