这是我的代码块,怎么在点击菜单的时候,图标icon触发background-position-x: -24px;

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <title>hnbApp</title>
    <script src="js/mui.min.js"></script>
   <script type="text/javascript" src="js/jquery-1.7.2.min.js" ></script>
    <link href="css/mui.min.css" rel="stylesheet"/>
    <style>
    .mui-icon{
        background-image: url(images/hnb-icon.png);
        background-size: 200% auto;
    }
    
    .hnb-icon-shouye{
        background-position-y:-48px;
    }
    .hnb-icon-nonghd{
        background-position-y:-72px;
    }
    .hnb-icon-nongch{
        background-position-y:-96px;
    }
    .hnb-icon-nongzt{
        background-position-y:-120px;
    }            
    .hnb-icon-gengduo{
        background-position-y:-144px;
    }    
    .mui-bar-tab .mui-tab-item.mui-active{
        color: #46BC62;
    }
    .bg-on{
        background-position-x: -24px;
    }
    /*nav a .bg-on, nav a .bg-on:focus, nav a .bg-on:hover{
        background-position-x: -24px;
    }*/
    </style>
</head>
<body>

<!--固定底部导航栏-->
<nav class="mui-bar mui-bar-tab">
    <a class="mui-tab-item mui-active" href="#tabbar">
        <span class="mui-icon hnb-icon-shouye"></span>
        <span class="mui-tab-label">首页</span>
    </a>
    <a class="mui-tab-item" href="#tabbar-with-contact">
        <span class="mui-icon hnb-icon-nonghd"></span>
        <span class="mui-tab-label">农荟答</span>
    </a>
    <a class="mui-tab-item" href="#tabbar-with-find">
        <span class="mui-icon hnb-icon-nongch"></span>
        <span class="mui-tab-label">农场荟</span>
    </a>
    <a class="mui-tab-item" href="#tabbar-with-me">
        <span class="mui-icon hnb-icon-nongzt"></span>
        <span class="mui-tab-label">农资团</span>
    </a>    
    <a class="mui-tab-item" href="#tabbar-with-me">
        <span class="mui-icon hnb-icon-gengduo"></span>
        <span class="mui-tab-label">更多</span>
    </a>        
</nav>
<script>
$(document).ready(function(){
   $("nav a").click(function(){
               $("span:first").addClass("bg-on").siblings().removeClass("bg-on");
      });
});

</script>
</body>
</html>

图片描述

阅读 4.2k
6 个回答

$(document).ready(function(){
$("nav a").click(function(){

   $(this).find("span:first").addClass("bg-on");
   $(this).siblings().find("span:first").removeClass("bg-on")      ;

});
});

这个要用到jq 的点击onclick事件了

你获取节点的时候用的是$("nav a li")

但是在 html 中我并没有看到任何 li

是jq的click事件

感谢邀请!
click事件里面的span需要这样写:$(this).find("span:eq(0)"),以得到当前a标签内的span
如果还是不行请回复,现在没在电脑旁边

background-position-y
CSS别这样写,-x 和 -y 有兼容问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题