jquery mouseover,mouseout和click

时间:2010-02-04 06:27:10

标签: jquery

我有一个精灵菜单,我使用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>

1 个答案:

答案 0 :(得分:0)

除非使用jQuery后台位置效果插件,否则使用当前jQuery核心无法制作背景位置动画 - http://plugins.jquery.com/project/backgroundPosition-Effect