我正在嘗試使用javascript創建效果。對圖像的Javascript懸停問題
效果:
當我點擊任何菜單上它是顯示活動圖像是symb1.png。以下是我的代碼:
的CSS:
<style>
li{display:inline;padding:0 10px; z-index:-1;}
.red{ background-image:url('symb1.png'); background-repeat:no-repeat;}
</style>
的HTML身體標記
<ul id="menu">
<li><a href="#" class="red" onClick="selected(this)">MENU</a></li>
<li><a href="#" onClick="selected(this)">MENU 1</a></li>
<li><a href="#" onClick="selected(this)">MENU 2</a></li>
</ul>
最終收盤HTML體標記之前Javasript代碼:
<script>
function selected(obj){
var lilist = document.getElementById('menu');
var alist = lilist.getElementsByTagName('a');
for (i=0; i<alist.length; i++)
{
alist[i].className="";
}
obj.className="red";
}
</script>
它與文本菜單,菜單1,菜單2等正常工作,但如果我把任何圖像,而不是文字,然後它不起作用。它不顯示活動圖像。爲什麼會發生?
更新:
<html>
<head>
<style type="text/css">
li{display:inline;padding:0 10px; z-index:-1;}
.red{ background-image:url(symb1.png); background-repeat:no-repeat;}
</style>
</head>
<body>
<ul id="menu">
<li><a href="#" class="red">MENU</a></li>
<li><a href="#" onClick="selected(this)">MENU 1</a></li>
<li><a href="#" onClick="selected(this)">MENU 2</a></li>
</ul>
<script>
$('ul li a').click(function(){
$('ul li a').removeClass('red');
$(this).addClass('red');
});
</script>
</body>
</html>
你是否反對使用jQuery庫? – 2013-05-13 17:48:18
@JonHarding我是Javascript新用戶。這是我的學習時間.. – 2013-05-13 17:51:58
你的大概很可能是一個不好的路徑到您的形象。我肯定會推薦熟悉jQuery庫 – 2013-05-13 17:52:41