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 相关文章推荐
js可突破windows弹退效果代码
Aug 09 Javascript
JavaScript Sort 表格排序
Oct 31 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
Oct 20 Javascript
js实现常用排序算法
Aug 09 Javascript
AngularJS指令用法详解
Nov 02 Javascript
jQuery实现checkbox列表的全选、反选功能
Nov 24 Javascript
javascript基础知识之html5轮播图实例讲解(44)
Feb 17 Javascript
AngularJS service之select下拉菜单效果
Jul 28 Javascript
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
Vue.js更改调试地址端口号的实例
Sep 19 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
May 16 Javascript
微信小程序如何实现点击图片放大功能
Jan 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 include,include_once,require,require_once
2008/09/05 PHP
php生出随机字符串
2017/07/06 PHP
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
JSON 教程 json入门学习笔记
2020/09/22 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
JavaScript中 DOM操作方法小结
2017/04/25 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
基于Vue实现拖拽功能
2020/07/29 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
python config文件的读写操作示例
2019/09/27 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
python删除某个目录文件夹的方法
2020/05/26 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
类和结构的区别
2012/08/15 面试题
《回乡偶书》教学反思
2014/04/12 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
一级电子管军用接收机测评
2022/04/05 无线电