【发布时间】:2010-06-04 20:28:51
【问题描述】:
我更新了我的帖子。现在它说“链接未定义”“thisLink[link].scopeObject = new Image();”保持链接很重要,因为它是保存当前链接的 linkObj 的属性。由于它提供的循环能力,我使用 [] 作为属性而不是点表示法。
<script type="text/javascript">
window.onload = init;
var linkObj = new Object();
var listItems = new Object();
function init() {
for(var i=0; i < document.links.length; i++) {
var link = document.links[i];
linkObj[link] = link;
setupClick(linkObj);
}
}
function setupClick(thisLink) {
thisLink[link].scopeObject = new Image();
thisLink[link].scopeObject.src = thisLink[link].id + "Img.png";
thisLink[link].onclick = rollClick;
}
function rollClick() {
var list = document.getElementById("target").childNodes;
for(var i=0; i < list.length; i++) {
if(list[i].nodeName == "LI") {
var id = list[i] + i;
listItems[id] = id;
}
}
for(id in listItems){
if(listItems[id].indexOf(this[link].id) > -1) {
listItem[id].style.backgroundImage = this[link].scopeObject.src;
}
}
}
</script>
<ul id="target">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div id="mainContent">
<div id="navLinks">
<ul>
<li><a href="#" id="0">Home</a></li>
<li><a href="#" id="1">About</a></li>
<li><a href="#" id="2">Products</a></li>
<li><a href="#" id="3">Contact</a></li>
</ul>
【问题讨论】:
-
删除违规行前的
var。
标签: javascript css object onclick background-image