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

代码这样写有问题吗,不出效果

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>星级评分--第一种实现方式</title>
    <script src="jquery.min.js"></script>
    <style>
 body,ul,li{
            padding:0;
 margin:0;
 }
        li{
            list-style-type:none;
 }
        .rating{
            width:175px;
 height:35px;
 margin:100px auto;
 }
        .rating-item{
            float:left;
 width:35px;
 height:35px;
 background:url(image/01.jpg) no-repeat;
 cursor:pointer;
 }
    </style>
    <script>
 var rating=(function() {
            var lightOn = function ($item,num) {
                $item.each(function (index) {
                    if (index < num) {
                        $(this).css('background-position', '0 -36px');
 } else {
                        $(this).css('background-position', '0 0');
 }
                });
 };
 var init = function (el, num) {
                var $rating = $(el);
 $item = $rating.find('rating-item');

 lightOn($item, num);
 $rating.on('mouseover', 'rating-item', function () {
                    lightOn($(this).index() + 1);
 }).on('click', 'rating-item', function () {
                    num = $(this).index() + 1;
 }).on('mouseout', function () {
                    lightOn(num);
 });
 };
 $.fn.extend({
                rating:function(num){
                    return this.each(function(){
                        init(this,num);
 });
 }
            });
 return {
                init: init
 };
 })();
 rating.init('#rating',2);
//        rating.init('#rating2',3)
 $('#rating2').rating(4);
 </script>
</head>
<body>
<ul class="rating" id="rating">
    <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>
</body>
</html>


正在回答

2 回答

$item = $rating.find('rating-item');
这个语句也要改成:$item = $rating.find('.rating-item');

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

事件委托绑定$rating.on('mouseover', 'rating-item',内,应该是 '.rating-item'。

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

大白宝宝 提问者

好的,谢谢了
2018-04-24 回复 有任何疑惑可以回复我~
#2

丶明灯三千

感谢,我也是这里写漏了
2019-02-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

代码这样写有问题吗,不出效果

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