用 jquery 丢失 css 悬停
Css hover is working correctly until one of the menu items is clicked. I believe the problem started with I added this line
$("#buttons li a:not(a." + target + ")").css("background-position","0 0");
CSS
#buttons {float:left;}
#buttons ul {list-style-type:none;cursor:pointer;overflow:hidden;}
#buttons ul li {height:195px;width:40px;float:left}
#buttons a {display:block;height:195px;width:40px;border:none;cursor:pointer;}
#buttons a.settings:hover, #buttons a.duels:hover, #buttons a.messages:hover {background-position: -40px 0;}
#buttons a.settings {background:url(accountsettings.png)}
#buttons a.something {background:url(accountsomething.png)}
#buttons a.messages {background:url(accountmessages.png)}
#text{width:600px;height:199px;overflow:hidden;float:left;}
div#text div {width:600px;height:199px;float:left; margin-left:20px;}
HTML
<div id="buttons">
<ul>
<li><a class="settings"></a></li>
<li><a class="something"></a></li>
<li><a class="messages"></a></li>
</ul>
</div>
<div id="text">
<div id="settings">
<h2>Account Settings</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing</p>
</div>
<div id="something">
<h2>Something</h2>
<p>Lorem ipsum dolor sit amet, adipiscing elit. Nulla quam.</p>
</div>
<div id="messages">
<h2>Messages</h2>
<p>Lorem ipsum dolor sit amet, adipiscing elit. Nulla quam.</p>
</div>
</div>
SCRIPT
<script language="javascript" type="text/javascript">
$("div#text div:not(#settings)").hide();
$("#buttons li a.settings").css("background-position", "-40px 0");
$("#buttons li a").click(function(){
var target = $(this).attr("class");
$("#buttons li a:not(a." + target + ")").css("background-position","0 0");
$(this).css("background-position", "-40px 0");
$("#"+target).show("slide", { direction: "left" }, 500);
$("#text div").not("#"+target).hide("slide", { direction: "right" }, 500);
});
</script>
解决方案
Setting the css inline will take precedence over your stylesheet - so try toggling a class instead.
I'm not sure what you're trying to achieve, so some combination of addClass(), removeClass() or toggleClass() will do the trick.
相关文章