我有一个精灵菜单,我使用jquery进行鼠标悬停,鼠标移动和点击。鼠标悬停和鼠标移动工作正常但我想要的是,如果我单击并选择菜单然后更改背景位置。它现在是我的问题,它不起作用,也许是因为一旦我点击菜单然后鼠标仍然触发。
这是我的jquery
$(document).ready(function(){
$(function(){
$('#a a')
.css( {backgroundPosition: "0 -33px"} )
.mouseover(function(){
$(this).stop().animate({backgroundPosition:"(0 0)"}, {duration:500})
})
.mouseout(function(){
$(this).stop().animate({backgroundPosition:"(0 -33px)"}, {duration:200, complete:function(){
$(this).css({backgroundPosition: "0 -33px"})
}})
})
});
});
我的css
h2 {clear:both;padding-top:20px;}
ul {list-style:none;margin:0;padding:0;}
li {float:left;width:120px;margin:0;padding:0;text-align:center;}
li a {display:block;padding:5px 10px;height:100%;color:#FFF;text-decoration:none;}
li a:hover, li a:focus {background-position:0 0;}
li a:active {background-position:-66px 0;}
#a a {background:url(<?php echo base_url() ?>images/tabs.png) repeat 0 -33px;}
我的HTML
<h2>Top down</h2>
<ul id="a">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
答案 0 :(得分:0)
除非使用jQuery后台位置效果插件,否则使用当前jQuery核心无法制作背景位置动画 - http://plugins.jquery.com/project/backgroundPosition-Effect