<li id="10" ><a onclick="headTextBG(); " href="#" title=""><span>J</span></a></li> <li id="11"><a onclick="headTextBG(); " href="#" title=""><span>K</span></a></li> <li id="12" ><a onclick="headTextBG(); " href="#" title=""><span>L</span></a></li> <li id="13" ><a onclick="headTextBG(); " href="#" title=""><span>M</span></a></li> <li id="14"><a onclick="headTextBG(); " href="#" title=""><span>N</span></a></li> </ul> </div> </form> </body> <script language="JavaScript"> <!-- function headTextBG() //调整导航条背景图的函数 { var a = getElementById("rre").getElementsByTagName("li"); var e = window.event.srcElement, n; if (window.event.srcElement != null) { while(e=e.offsetParent){ if (e.tagName=="LI") break;} } for (var i=0; i <a.length; i++) { //a[i].style.background = url("images/menuright.gif") no-repeat right top; a[i].style.backgroundcolor="" if (e != null){ if(a[i] == e) n = i+1;} else n = 1; } //a[n-1].style.background = url("images/menuleft.gif") no-repeat right top; a[n-1].style.backgroundcolor="red" } //--> </script>
呃,应该是var a = document.getElementById("ul的id名").getElementsByTagName("li"); 少写了document.
function headTextBG() //调整导航条背景图的函数 { var a = document.getElementsByTagName("li"); var e = window.event.srcElement, n; if (window.event.srcElement != null) { while(e=e.offsetParent){ if (e.tagName=="li") break;} } for (var i=0; i <a.length; i++) { a[i].style.background = "url(\"images/menuright.gif\") no-repeat right top"; //还原其它所有导航菜单的背景图 if (e != null){ if(a[i] == e) n = i+1;} else n = 1; } a[n-1].style.background = "url(\"images/menuleft.gif\") no-repeat right top"; //改变当前导航菜单的背景图 } 函数如上形式,IE6下通过!格式问题
不好意思,理解错误了。你的意思是点击一个链接,其他图标变换。我以为是帮你调通程序了~~~ 如下,解决你需求~ function headTextBG(_this) //调整导航条背景图的函数 { var a = document.getElementsByTagName("li"); var e = window.event.srcElement,n; if (window.event.srcElement != null) { while(e=e.offsetParent){ if (e.tagName=="li") break;} }
for (var i=0; i <a.length; i++) { if(a[i].id ==_this.parentNode.id) { a[i].style.background = "url(\"1.gif\") no-repeat right top"; } else { a[i].style.background = "url(\"2.gif\") no-repeat right top"; } } }
是纯静态的,还是不行。
<ul id="rre">
<li id="1" ><a onclick="headTextBG(); " href="#" title="基礎數據管理"><span>A</span></a></li>
<li id="2" ><a onclick="headTextBG(); " href="#" title="培訓資源管理"><span>B</span></a></li>
<li id="3" ><a onclick="headTextBG(); " href="#" title="課程管理"><span>C</span></a></li>
<li id="4" ><a onclick="headTextBG(); " href="#" title="申請及批核項目"><span>D</span></a></li>
<li id="5" ><a onclick="headTextBG(); " href="#" title="出席及考核管理"><span>E</span></a></li>
<li id="6" ><a onclick="headTextBG(); " href="#" title="查詢"><span>F</span></a></li>
<li id="7" ><a onclick="headTextBG(); " href="#" title="報表"><span>G</span></a></li>
<li id="8" ><a onclick="headTextBG(); " href="#" title="通知及提示"><span>H</span></a></li>
<li id="9" ><a onclick="headTextBG(); " href="#" title="用戶管理"><span>I</span></a></li>
<li id="10" ><a onclick="headTextBG(); " href="#" title=""><span>J</span></a></li>
<li id="11"><a onclick="headTextBG(); " href="#" title=""><span>K</span></a></li>
<li id="12" ><a onclick="headTextBG(); " href="#" title=""><span>L</span></a></li>
<li id="13" ><a onclick="headTextBG(); " href="#" title=""><span>M</span></a></li>
<li id="14"><a onclick="headTextBG(); " href="#" title=""><span>N</span></a></li>
</ul>
</div>
</form>
</body>
<script language="JavaScript">
<!--
function headTextBG() //调整导航条背景图的函数
{
var a = getElementById("rre").getElementsByTagName("li");
var e = window.event.srcElement, n;
if (window.event.srcElement != null)
{
while(e=e.offsetParent){ if (e.tagName=="LI") break;}
}
for (var i=0; i <a.length; i++)
{
//a[i].style.background = url("images/menuright.gif") no-repeat right top;
a[i].style.backgroundcolor=""
if (e != null){
if(a[i] == e) n = i+1;}
else
n = 1;
}
//a[n-1].style.background = url("images/menuleft.gif") no-repeat right top;
a[n-1].style.backgroundcolor="red"
}
//-->
</script>
少写了document.
{
var a = document.getElementsByTagName("li");
var e = window.event.srcElement, n;
if (window.event.srcElement != null)
{
while(e=e.offsetParent){ if (e.tagName=="li") break;}
}
for (var i=0; i <a.length; i++)
{
a[i].style.background = "url(\"images/menuright.gif\") no-repeat right top";
//还原其它所有导航菜单的背景图
if (e != null){
if(a[i] == e) n = i+1;}
else
n = 1;
}
a[n-1].style.background = "url(\"images/menuleft.gif\") no-repeat right top";
//改变当前导航菜单的背景图
}
函数如上形式,IE6下通过!格式问题
如下,解决你需求~
function headTextBG(_this) //调整导航条背景图的函数
{
var a = document.getElementsByTagName("li");
var e = window.event.srcElement,n;
if (window.event.srcElement != null)
{
while(e=e.offsetParent){ if (e.tagName=="li") break;}
}
for (var i=0; i <a.length; i++)
{
if(a[i].id ==_this.parentNode.id)
{
a[i].style.background = "url(\"1.gif\") no-repeat right top";
}
else
{
a[i].style.background = "url(\"2.gif\") no-repeat right top";
}
} }