看起来好像从另一个角度看待这个问题要容易得多。而不是使用精灵来达到预期的效果,那么从javascript的角度来看待它呢......你已经到了一半了!
从您良好,干净的UL列表开始。这是在非常良好的状态,但它 将需要一点点格式扭捏:
<ul id='menu'>
<li><a href="#aa">Home</a></li>
<ul> <li class="current"><a href="/About/News.aspx">News</a></li> <li><a href="/About/Mission.aspx">Mission Statement</a></li> </ul>
</li>
... </ul>
概括地说,每次你需要另一个嵌套元素的时候,把你的李内的列表。放弃onclicks和其他“额外”Superfish将为您做到这一点。
添加Superfish到您的网页,并使用在<li>
元素的CSS调用它的UL名单上
$(document).ready(function(){
$("ul.menu").superfish();
});
设置背景。
使用JqueryUI设置圆角到所需的元素。添加类 “UI角-BL” 的左下方, “UI角-BR” 的右下角,等
调整通过CSS悬停
我去了这个解决方案,同时返回来替换一个很差的菜单,类似于你正在处理的内容。菜单有很多行为 - 特别是当它们很大并且嵌套在我的网站中时 - 所以它们需要耐心。然而,这种解决方案会为您提供更轻松的维护,就像其中一个菜单项发生更改一样,您只需在代码中更改它,而不是使用图形。单靠这一点就可以获得数小另外,由于下载量较少,您将获得一些速度。
一个观察:你应该决定以一种方式做你的事件处理程序绑定。既然你使用jQuery,那将是一个不错的选择。 – Pointy 2011-04-01 13:30:38
另外,您还有两次定义的“itemOver”功能;其中一个应该是“itemOut”,对吧?这真的是你所有的CSS?没有任何地方提到带有“h”或“d”后缀的类。 – Pointy 2011-04-01 13:34:04
对不起。我现在将修复代码。这个问题可以在你的浏览器中看到:http://68.71.136.106/problem.htm谢谢你看这个问题。 – user687554 2011-04-01 13:42:06