看了他的代码,太乱了,没有看明白。但明白原理的意思。自已写了一个,但我的javascript 不行,知道有很多地方可以优化,但不知道优化,谁的JAVASCRIPT好,帮着优化或重写一下。 非常感谢。
这是需要的图片:

这是CSS:
程序代码
<style> /*http://www.zishu.cn*/ *{ padding:0; margin:0; list-style:none; font-size:12px;} #nav{margin:50px;} #nav li{padding:15px 0} #nav li a{display:block;cursor:pointer;cursor:hand;} #nav li a span{ margin:-15px 0 0 -40px;position:absolute; background:url(/uploadfile/edu/uploadfile/200712/20071211123238895.png) no-repeat; display:block;height:33px; width:40px;} </style>
布局(这里有点重复,希望优化一下):
程序代码
<div id="nav"> <ul> <li id="info_1"><a onmouseover="onBg(1,1)" onmouseout="onBg(1,0)" href="http://www.zishu.cn/"><span id="span_1"></span>谷歌拼音输入法</a></li> <li id="info_2"><a onmouseover="onBg(2,1)" onmouseout="onBg(2,0)" href="http://www.zishu.cn/"><span id="span_2"></span>谷歌工具条</a></li> <li id="info_3"><a onmouseover="onBg(3,1)" onmouseout="onBg(3,0)" href="http://www.zishu.cn/"><span id="span_3"></span>手机位置</a></li> <li id="info_4"><a onmouseover="onBg(4,1)" onmouseout="onBg(4,0)" href="http://www.zishu.cn/"><span id="span_4"></span>在线翻译</a></li> <li id="info_5"><a onmouseover="onBg(5,1)" onmouseout="onBg(5,0)" href="http://www.zishu.cn/"><span id="span_5"></span>列车时刻</a></li> <li id="info_6"><a onmouseover="onBg(6,1)" onmouseout="onBg(6,0)" href="http://www.zishu.cn/"><span id="span_6"></span>网速测试</a></li> <li id="info_7"><a onmouseover="onBg(7,1)" onmouseout="onBg(7,0)" href="http://www.zishu.cn/"><span id="span_7"></span>万年历</a></li> <li id="info_8"><a onmouseover="onBg(8,1)" onmouseout="onBg(8,0)" href="http://www.zishu.cn/"><span id="span_8"></span>这个不知道</a></li> </ul> </div>
javascript:(这里也想优化一下)
程序代码
<script language="JavaScript"> var info = document.getElementById('nav'); function navScrollBg(e,num,flag) { var a=[0,40,80,120,160,200,240]; var spans = document.getElementById('span_'+num); if(flag == 1){ spans.style.backgroundPosition = (0 - a[e]) + 'px' + ' ' + (0-((num-1)*33)) +'px'; }else{ a.sort(function(b,c){return c-b;}); spans.style.backgroundPosition = (0 - a[e]) + 'px' + ' ' + (0-((num-1)*33)) +'px'; } } function onBg(num,flag){ for(var e=0; e<7; e++){ setTimeout("navScrollBg(" + e + "," + num +","+flag+")",40 * e); } } </script>
运行看一下效果:
 HTML代码 点击下面的运行,可预览代码效果:
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
|