flax
flax
  • 发布:2015-09-07 10:35
  • 更新:2019-07-16 11:31
  • 阅读:4582

星星评分问题,

分类:HBuilder
<!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></title>  
    <script src="js/mui.min.js"></script>  
    <link href="css/mui.min.css" rel="stylesheet"/>  
    <link href="css/pingjia.css" rel="stylesheet"/>  
    <link rel="stylesheet" type="text/css" href="css/iconfont.css"/>  

</head>  
<body>  
<!--总体评价-->  
         <div class="mui-content">  
            <ul class="mui-table-view">  
                <li class="star-li one">  
                    <a>总体评价</a>  
                    <div class="icons">  
                        <i data-index="1" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="2" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="3" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="4" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="5" class="icon-xingxing mui-icon-star"></i>  
                        <em>5星</em>  
                    </div>  
                </li>  
                <li class="star-li li_two">  
                    <a>口味</a>  
                    <div class="icons">  
                        <i data-index="1" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="2" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="3" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="4" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="5" class="icon-xingxing mui-icon-star"></i>  
                        <em>5星</em>  
                    </div>  
                    <span class="icon-xingxingshi z"></span>  
                </li>  
                <li class="star-li">  
                    <a>服务</a>  
                    <div class="icons">  
                        <i data-index="1" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="2" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="3" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="4" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="5" class="icon-xingxing mui-icon-star"></i>  
                        <em>5星</em>  
                    </div>  
                </li>  
                <li class="star-li">  
                    <a>环境</a>  
                    <div class="icons">  
                        <i data-index="1" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="2" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="3" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="4" class="icon-xingxing mui-icon-star"></i>  
                        <i data-index="5" class="icon-xingxing mui-icon-star"></i>  
                        <em>5星</em>  
                    </div>  
                </li>  
            </ul>  
            <div id="info"></div>  
        </div>  
        <!--口味评价结束-->  
    <script src="js/jquery-2.1.0.js" type="text/javascript"></script>  
    <script type="text/javascript" charset="utf-8">  
            mui.init();  
              mui('.icons').on('click','i',function(){  
                var index = parseInt(this.getAttribute("data-index"));//获取当前元素的索引值  
                var parent = this.parentNode;//获取当前元素的父节点   
                var children = parent.children;//获取父节点下所有子元素  
                if(this.classList.contains("icon-xingxing")){//判断当前节点列表中是否含有.mui-icon-star元素  
                    for(var i=0;i<index;i++){//亮星  
                            children[i].classList.remove('icon-xingxing');  
                            children[i].classList.add('icon-xingxingshi');  
                    }  

                }else{//重置已经亮星的元素   
                    for (var i = index; i < 5; i++) {  
                        children[i].classList.add('icon-xingxing')  
                        children[i].classList.remove('icon-xingxingshi')  
                    }  
                }  
          })  

        </script>  

</body>  
</html>

这个是果汁哥写的代码,很不错,但是发现我想改变当前行星星的分数,每行点击都有一个分数,
如何改变点击哪一个div下面的星星 然后分数就改变当前em里面的数值,
点击下面就改变下一个数值,这个实现,我试过好多方法,都卡在这了。

2015-09-07 10:35 负责人:无 分享
已邀请:
flax

flax (作者) - 一个作家曾经说过:“一个失落的灵魂能很快杀死你,远比细菌快的多.”

@DCloud_MUI_new 谢谢哈。问题能看一下吗

m***@outlook.com

m***@outlook.com - 开发app所以用到此框架,很强大,但是有很多地方不明白


js


$(function () {
//评分
var starRating = 0;
$('.photo span').on('mouseenter',function () {
var index = $(this).index()+1;
$(this).prevAll().find('.high').css('z-index',1)
$(this).find('.high').css('z-index',1)
$(this).nextAll().find('.high').css('z-index',0)
$('.starNum').html((index2).toFixed(1)+'分')
})
$('.photo').on('mouseleave',function () {
$(this).find('.high').css('z-index',0)
var count = starRating / 2
if(count == 5) {
$('.photo span').find('.high').css('z-index',1);
} else {
$('.photo span').eq(count).prevAll().find('.high').css('z-index',1);
}
$('.starNum').html(starRating.toFixed(1)+'分')
})
$('.photo span').on('click',function () {
var index = $(this).index()+1;
$(this).prevAll().find('.high').css('z-index',1)
$(this).find('.high').css('z-index',1)
starRating = index
2;
$('.starNum').html(starRating.toFixed(1)+'分');
alert('评分:'+(starRating.toFixed(1)+'分'))
})
//取消评分
$('.cancleStar').on('click',function () {
starRating = 0;
$('.photo span').find('.high').css('z-index',0);
$('.starNum').html(starRating.toFixed(1)+'分');
})
//确定评分
$('.sureStar').on('click',function () {
if(starRating===0) {
alert('最低一颗星!');
} else {
alert('评分:'+(starRating.toFixed(1)+'分'))
}
})
})

html

<div id="starRating">
<p class="photo">
<span><i class="high"></i><i class="nohigh"></i></span>
<span><i class="high"></i><i class="nohigh"></i></span>
<span><i class="high"></i><i class="nohigh"></i></span>
<span><i class="high"></i><i class="nohigh"></i></span>
<span><i class="high"></i><i class="nohigh"></i></span>
</p>
<p class="starNum">0.0分</p>
<div class="bottoms">
<a class="garyBtn cancleStar">取消评分</a><a class="blueBtn sureStar">确认</a>
</div>
</div>

..................................
css
............................

starRating .photo span {

position: relative;  
display: inline-block;  
width: 44px;  
height: 42px;  
overflow: hidden;  
margin-right: 23px;  
cursor: pointer;  

}

starRating .photo span:last-child {

margin-right: 0px;  

}

starRating .photo span .nohigh {

position: absolute;  
width: 44px;  
height: 42px;  
top: 0;  
left: 0;  
background: url("http://www.jq22.com/tp/98643a06-224f-4a72-9fca-bd35b2246a64.png");  

}

starRating .photo span .high {

position: absolute;  
width: 44px;  
height: 42px;  
top: 0;  
left: 0;  
background: url("http://www.jq22.com/tp/edd338fb-79eb-4c67-8b4d-7eb98689faba.png");  

}

starRating .starNum {

font-size: 26px;  
color: #de4414;  
margin-top: 4px;  
margin-bottom: 10px;  

}

starRating .bottoms {

height: 54px;  
border-top: 1px solid #d8d8d8;  

}

starRating .photo {

margin-top: 30px;  

}

starRating .bottoms a {

margin-bottom: 0;  

}

starRating .bottoms .garyBtn {

margin-right: 57px!important;  

}

starRating .bottoms a {

width: 130px;  
height: 35px;  
line-height: 35px;  
border-radius: 3px;  
display: inline-block;  
font-size: 16px;  
transition: all 0.2s linear;  
margin: 16px 0 22px;  
text-align: center;  
cursor: pointer;  

}
.garyBtn {
margin-right: 60px!important;
background-color: #e1e1e1;
color: #999999;
}
.blueBtn {
background-color: #1968b1;
color: #fff;
}
.blueBtn:hover {
background: #0e73d0;
}

L***@163.com

L***@163.com

大神!!怎么取星级的值?

该问题目前已经被锁定, 无法添加新回复