vue2.0实现前端星星评分功能组件实例代码


Posted in Javascript onFebruary 12, 2018

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

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

<template id="pingJia">
<div>
<ul>
<li :class="{li1:1,bg1:index%2}" v-for="(value,index) in list"><span class="stu_span1">
{{value.classs.major}}</span>
<span class="stu_teacher">任课老师:{{value.classs.teacher}}</span>
<div v-for="(item,index1) in value.classs.zh" class="stu_div" :id="index">
<span class="stu_title">{{item.title}}</span>
<span class="stu_bgstar" :id="index1">
<span class="stu_bgstar1" :title="value.classs.title1"></span>
<span class="stu_bgstar1" :title="value.classs.title1"></span>
<span class="stu_bgstar1" :title="value.classs.title1"></span>
<span class="stu_bgstar1" :title="value.classs.title1"></span>
<span class="stu_bgstar1" :title="value.classs.title1"></span>
</span>
<span class="stu_bgstar2" @mousemove="pingjia($event)" :title="value.classs.title1" 
@click="pingjia1($event)" @mouseleave="pingjia2($event)"></span>
<span>{{item.lastD}}</span>
</div>
</li>
<button class="but1" @click="pingjia3($event)">评价</button>
</ul>
</div>
</template>
<style>
 
.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;
}
</style>
<script>
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<this.list[wei].classs.zh[b].d){
$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<this.list[wei].classs.zh[b].lastD){
$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);
}
}


}
</script>

总结

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

Javascript 相关文章推荐
ajax请求乱码的解决方法(中文乱码)
Apr 10 Javascript
用C/C++来实现 Node.js 的模块(二)
Sep 24 Javascript
node.js中的fs.fstatSync方法使用说明
Dec 15 Javascript
JavaScript脚本库编写的方法
Dec 09 Javascript
jQuery选择器实例应用
Jan 05 Javascript
JavaScript标准对象_动力节点Java学院整理
Jun 27 Javascript
用node和express连接mysql实现登录注册的实现代码
Jul 05 Javascript
mpvue+vant app搭建微信小程序的方法步骤
Feb 11 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
Jul 25 Javascript
JS实现贪吃蛇游戏
Nov 15 Javascript
JavaScript Window浏览器对象模型原理解析
May 30 Javascript
vue2和vue3的v-if与v-for优先级对比学习
Oct 10 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 #Javascript
Vue+webpack项目基础配置教程
Feb 12 #Javascript
详解vue-admin和后端(flask)分离结合的例子
Feb 12 #Javascript
jquery+css3实现熊猫tv导航代码分享
Feb 12 #jQuery
jQuery实现定时隐藏对话框的方法分析
Feb 12 #jQuery
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 #jQuery
原生js实现省市区三级联动代码分享
Feb 12 #Javascript
You might like
PHP 图像尺寸调整代码
2010/05/26 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
php正则修正符用法实例详解
2016/12/29 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
纯JavaScript实现的分页插件实例
2015/07/14 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
简单谈谈Python的pycurl模块
2018/04/07 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
浅谈python中get pass用法
2019/03/19 Python
python把转列表为集合的方法
2019/06/28 Python
详解Python打包分发工具setuptools
2019/08/05 Python
python SVD压缩图像的实现代码
2019/11/05 Python
python科学计算之narray对象用法
2019/11/25 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
flask项目集成swagger的方法
2020/12/09 Python
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
戴尔英国官网:Dell英国
2017/05/27 全球购物
自荐书模板
2013/12/15 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
护士自我鉴定总结
2014/03/24 职场文书
会计专业自荐信
2014/06/03 职场文书
健康状况证明书
2014/11/26 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
嘉宾邀请函
2015/01/31 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
《社戏》教学反思
2016/02/22 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers