下面给大家分享vue 2.0实现星星评分组件,代码很简单,一起看看吧!

废话不多说了,直接给大家贴代码了,具体代码如下所示:

  • {{value.classs.major}}

    任课老师:{{value.classs.teacher}}

    {{item.title}}

    @click="pingjia1($event)" @mouseleave="pingjia2($event)">

    {{item.lastD}}

评价

.li1{

width: 1200px;

/*height: 330px;*/

color: #f60;

border: 1px solid #000000;

font-size: 20px;

line-height: 50px;

}

.bg1{

background: #00A2D4;

}

.but1{

width: 200px;

height: 40px;

font-size: 25px;

float: right;

margin: 5px 5px;

}

.stu_span1{

float: left;

margin: 0px 25px;

}

.stu_teacher{

float: left;

}

.stu_div{

float: left;

width: 1000px;

height: 50px;

}

.stu_title{

float: left;

}

.stu_bgstar{

width: 250px;

height: 50px;

float: left;

margin-left:500px;

/*background: url(../image/star.png);*/

background-size: 50px 50px;

}

.stu_bgstar1{

width: 50px;

height: 50px;

float: left;

background: url(../image/star.png);

background-size: 50px 50px;

margin-left: 0px;

}

.stu_bgstar2{

width: 250px;

height: 50px;

float: left;

/*background: url(../image/star.png);*/

/*background-size: 50px 50px;*/

margin-left: -250px;

opacity: 0;

}

.stu_bgstar3{

background: url(../image/star1.png);

background-size: 50px 50px;

}

.stu_li_text{

width: 95%;

height: 100px;

border: 1px solid #000000;

resize: none;

}

export default{

data(){

return{

list:[{classs:{major:"数学",teacher:"郑...0",title1:0,

zh:[{title:"课堂氛围",d:0,lastD:0},

{title:"老师水平",d:0,lastD:0},{title:"课后布置",d:0,lastD:0}

],text:"好"}},

{classs:{major:"语文",teacher:"郑...1",title1:1,

zh:[{title:"课堂氛围",d:0,lastD:0},

{title:"老师水平",d:0,lastD:0},{title:"课后布置",d:0,lastD:0}

],text:"好"}},

{classs:{major:"英语",teacher:"郑...2",title1:2,

zh:[{title:"课堂氛围",d:0,lastD:0},

{title:"老师水平",d:0,lastD:0},{title:"课后布置",d:0,lastD:0}

],text:"好"}},

{classs:{major:"数学",teacher:"郑...3",title1:3,

zh:[{title:"课堂氛围",d:0,lastD:0},

{title:"老师水平",d:0,lastD:0},{title:"课后布置",d:0,lastD:0}

],text:"好"}},

{classs:{major:"数学",teacher:"郑...4",title1:4,

zh:[{title:"课堂氛围",d:0,lastD:0},

{title:"老师水平",d:0,lastD:0},{title:"课后布置",d:0,lastD:0}

],text:"好"}},

{classs:{major:"数学",teacher:"郑...5",title1:5,

zh:[{title:"课堂氛围",d:0,lastD:0},

{title:"老师水平",d:0,lastD:0},{title:"课后布置",d:0,lastD:0}

],text:"好"}}]

}

},

methods:{

pingjia($event){

let wei = $event.target.parentNode.id;

let b = $event.target.previousElementSibling.id;

let a = parseInt($event.offsetX/250*100);

let c = parseFloat($event.offsetX/50);

this.list[wei].classs.zh[b].d = Math.ceil(c);

this.list[wei].classs.title1 = a;

for(let i = 0;i<5;i++){

if(i

$event.target.previousElementSibling.children[i].classList.add('stu_bgstar3');

}

else{

$event.target.previousElementSibling.children[i].classList.remove('stu_bgstar3');

}

}

if(a==0){

$event.target.previousElementSibling.children[0].classList.remove('stu_bgstar3');

}

},

pingjia1($event){

let wei = $event.target.parentNode.id;

let b = $event.target.previousElementSibling.id;

this.list[wei].classs.zh[b].lastD = this.list[wei].classs.zh[b].d;

},

pingjia2($event){

let wei = $event.target.parentNode.id;

let b = $event.target.previousElementSibling.id;

for(let i = 0;i<5;i++){

if(i

$event.target.previousElementSibling.children[i].classList.add('stu_bgstar3');

}

else{

$event.target.previousElementSibling.children[i].classList.remove('stu_bgstar3');

}

}

},

pingjia3($event){

console.log(this.list[0].classs.text);

}

}

}

总结

以上所述是小编给大家介绍的vue2.0实现前端星星评分功能组件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐