【发布时间】:2013-01-26 19:46:34
【问题描述】:
如何在单击事件发生后使用 jquery 切换 li id='' 精灵背景,并在单击另一个导航元素时将其切换回其原始状态,该元素也将切换到另一个精灵图像...... 我只使用当我将鼠标悬停在元素上时改变背景的 CSS .. 它工作正常但我真正想要的是点击后出现的第二个精灵图像在我点击另一个导航元素之前不会改变..
这里是html代码
<ul id="navlist">
<li id="ico1"><a href="#"></a></li>
<li id="ico2"><a href="#"></a></li>
<li id="ico3"><a href="#"></a></li>
<li id="ico4"><a href="#"></a></li>
<li id="ico5"><a href="#"></a></li>
<li id="ico6"><a href="#"></a></li>
<li id="ico7"><a href="#"></a></li>
<li id="ico8"><a href="#"></a></li>
CSS 代码:
#navlist{position:relative;}
#navlist li{margin:0;padding:0;list-style:none;position:relative;top:0;}
#navlist li, #navlist a{height:40px;display:block;}
#ico1{width:73px;height:40px;background:url(../img/sprite.png) no-repeat -96px 0px;transition: 500ms ease-in-out;}
#ico1:hover{width:96px;height:40px;background:url(../img/sprite.png) no-repeat 0px 0px;transition: 500ms ease-in-out;}
....等
【问题讨论】:
-
CSS 不处理点击状态。最好的办法是使用 JavaScript 将
active类添加/删除到单击的导航,并使用该类设置背景属性。
标签: jquery css image switch-statement sprite