为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的点亮是后一个好用,前一个不好用

<!DOCTYPE html>


<html>


  <head>


    <meta charset="utf-8" />


    <title>星级评分之第一种写法</title>


    <style>


      body, ul, li {


        padding: 0;


        margin: 0;


      }


      li {


        list-style: none;


      }


      .rating {


        width: 250px;


        height: 30px;


        margin: 100px auto;


      }


      .rating-item {


        display: inline-block;


        width: 30px;


        height: 30px;


        background:url(images/xj1.jpg) no-repeat;


        cursor: pointer;


      }


    </style>


    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>


  </head>


    <body>

 <ul class="rating" id="rating1">


      <li class="rating-item" title="十分不好"></li>


      <li class="rating-item" title="不好"></li>


      <li class="rating-item" title="一般"></li>


      <li class="rating-item" title="十分不好"></li>


      <li class="rating-item" title="很好"></li>


    </ul>


    <ul class="rating" id="rating2">


      <li class="rating-item" title="十分不好"></li>


      <li class="rating-item" title="不好"></li>


      <li class="rating-item" title="一般"></li>


      <li class="rating-item" title="十分不好"></li>


      <li class="rating-item" title="很好"></li>


    </ul>

     <ul class="rating" id="rating3">


      <li class="rating-item" title="十分不好"></li>


      <li class="rating-item" title="不好"></li>


      <li class="rating-item" title="一般"></li>


      <li class="rating-item" title="十分不好"></li>


      <li class="rating-item" title="很好"></li>


    </ul>


    <script>

 var rating=(function(){

  // 点亮

      var lightOn = function($item,num) {


        $item.each(function(index) {


          if(index < num) {


            $(this).css('background-position', '0 -30px');


          } else {


            $(this).css('background-position', '0 0');


          }


        });


      };

     var init=function(el,num){

//缓存、jQuery对象与DOM对象


      var $rating = $(el)


          $item = $rating.find('.rating-item');

  

  // 初始化


          lightOn($item,num);


         // 事件绑定


          $rating.on('mouseover','.rating-item',function() {


           console.log($(this).index());


           lightOn($item,$(this).index() + 1);


           }).on('click','.rating-item', function() {


                num = $(this).index() + 1;


              }).on('mouseout', function() {


           lightOn($item,num);


      });

};

return{

init:init

};

})();

rating.init("#rating1",2);

rating.init("#rating2",1);

rating.init("#rating3",3);

    </script>



  </body>


</html>


正在回答

2 回答

找到问题了,给出答案,真的是细节问题:

var $rating = $(el);//两个var分别申明变量的话,这边是分号

var $item = $rating.find(".rating-item");

或者用一个var申明两个变量,就是用逗号

var $rating = $(el),//逗号

 $item = $rating.find(".rating-item");


0 回复 有任何疑惑可以回复我~
#1

西西家的八戒哥哥

兄弟牛逼!!!!!
2019-06-26 回复 有任何疑惑可以回复我~

解决了,落个逗号

0 回复 有任何疑惑可以回复我~
#1

慕UI7829676

我也是同样的问题,哪个地方少逗号啊
2019-02-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的点亮是后一个好用,前一个不好用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信