2011-11-15 64 views
0

我有8个缩略图,当用户将鼠标悬停在其中任何一个上时,名为“target”的单独div显示图像。默认情况下,“目标”是一个空的div,直到其中一个缩略图被徘徊。SIMPLE切换图像查询

问题: 如何将'target'设置为具有默认图像,而不会混淆悬停的当前功能?我想为默认的图像是“图表”

<style> 
#target { width: 1220px; height: 400px; } 

.chart { background: url("theme/images/timeline.png") no-repeat 0 0; } 

.html { background: url("theme/images/html_graph.png") no-repeat 0 0; } 
.oracle { background: url("theme/images/oracle_graph.png") no-repeat 0 0; } 
.linux { background: url("theme/images/linux_graph.png") no-repeat 0 0; } 
.php { background: url("theme/images/php_graph.png") no-repeat 0 0; } 
.java { background: url("theme/images/java_graph.png") no-repeat 0 0; } 
.prod { background: url("theme/images/prod_graph.png") no-repeat 0 0; } 
.design { background: url("theme/images/design_graph.png") no-repeat 0 0; } 
.pm { background: url("theme/images/pm_graph.png") no-repeat 0 0; } 
</style> 

<script type="text/javascript" language="Javascript/1.2"> 
function change(v) { 
    var target = document.getElementById("target"); 
    if (v == "imgA") { 
     target.className = "html"; 
    } else if (v == "imgB") { 
     target.className = "oracle"; 
    } else if (v == "imgC") { 
     target.className = "linux"; 
    } else if (v == "imgD") { 
     target.className = "php"; 
    } else if (v == "imgE") { 
     target.className = "java"; 
    } else if (v == "imgF") { 
     target.className = "prod"; 
    } else if (v == "imgG") { 
     target.className = "pm"; 
    } else if (v == "imgH") { 
     target.className = "design"; 
    } else { 
     target.className = "chart"; 
    } 
} 
function changeReset() { 
    var target = document.getElementById("target"); 
    target.className = ""; 
} 
</script> 

</head> 

<body> 
    <div> 
     <a id="imgA" onmouseover="change('imgA');" onmouseout="changeReset();" href="#"><img src="theme/images/Albania.png" alt="" /></a> 
     <a id="imgB" onmouseover="change('imgB');" onmouseout="changeReset();" href="#"><img src="theme/images/Algeria.png" alt="" /></a> 
     <a id="imgC" onmouseover="change('imgC');" onmouseout="changeReset();" href="#"><img src="theme/images/Brazil.png" alt="" /></a> 
     <a id="imgD" onmouseover="change('imgD');" onmouseout="changeReset();" href="#"><img src="theme/images/Brunei.png" alt="" /></a> 
     <a id="imgE" onmouseover="change('imgE');" onmouseout="changeReset();" href="#"><img src="theme/images/Chad.png" alt="" /></a> 
     <a id="imgF" onmouseover="change('imgF');" onmouseout="changeReset();" href="#"><img src="theme/images/Chad.png" alt="" /></a> 
     <a id="imgG" onmouseover="change('imgG');" onmouseout="changeReset();" href="#"><img src="theme/images/Chad.png" alt="" /></a> 
     <a id="imgH" onmouseover="change('imgH');" onmouseout="changeReset();" href="#"><img src="theme/images/Chad.png" alt="" /></a> 
    </div> 
    <div id="target"></div></body> 

回答

0

你要处理的代码相当恶心。如果此页面需要持续维护,或者如果您只是想在晚上睡得更好,请考虑使用不引人注意的JavaScript和像JQuery这样的好操作库来清理此问题like so。如果我理解你的问题,我相信所有你需要做的是改变:

<div id="target"></div> 

默认有图表类就可以了:

<div id="target" class="chart"></div> 
+0

感谢RSG,这partically解决的问题。当页面加载时,图表现在显示,但是一旦我将鼠标悬停在缩略图上,然后从缩略图中删除该光标,默认图像就不会返回。你知道如何解决这个问题吗?我同意当我有更多时间时,我需要切换到jquery。 – need2nobasis

+0

我明白了,但你带领我走向正确的方向,谢谢你的一切。 – need2nobasis

+0

很高兴帮助:) – RSG