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 相关文章推荐
浅析onsubmit校验表单时利用ajax的return false无效问题
Jul 10 Javascript
javascript实现原生ajax的几种方法介绍
Sep 21 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
Jun 19 Javascript
实现JavaScript的组成----BOM和DOM详解
May 18 Javascript
JS实现简单的右下角弹出提示窗口完整实例
Jun 21 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
Aug 10 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 Javascript
JavaScript变量类型以及变量作用域详解
Aug 14 Javascript
Angular2实现组件交互的方法分析
Dec 19 Javascript
浅谈Webpack 持久化缓存实践
Mar 22 Javascript
VUE搭建手机商城心得和遇到的坑
Feb 21 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
May 21 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截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
php常用图片处理类
2016/03/16 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
jquery indexOf使用方法
2013/08/19 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
python实现淘宝秒杀脚本
2020/06/23 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
python3获取文件中url内容并下载代码实例
2019/12/27 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
24个canvas基础知识小结
2014/12/17 HTML / CSS
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
物业经理自我鉴定
2014/03/03 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
三八妇女节寄语
2015/02/27 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
市场营销计划书
2019/04/24 职场文书
python创建字典及相关管理操作
2022/04/13 Python