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 相关文章推荐
不同浏览器的怪癖小结
Jul 11 Javascript
JS实现双击编辑可修改状态的方法
Aug 14 Javascript
Bootstrap精简教程
Nov 27 Javascript
Web开发必知Javascript技巧大全
Feb 23 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 Javascript
移动端点击态处理的三种实现方式
Jan 12 Javascript
JS字符串按逗号和回车分隔的方法
Apr 25 Javascript
angularjs实现搜索的关键字在正文中高亮出来
Jun 13 Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 Javascript
Vue2.5通过json文件读取数据的方法
Feb 27 Javascript
Vue.js递归组件实现组织架构树和选人功能
Jul 04 Javascript
微信小程序实现简单购物车功能
Dec 30 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读取和编写XML DOM的实现代码
2011/02/03 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
php精度计算的问题解析
2019/06/21 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
js跳转页面方法总结
2014/01/29 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
layui table设置前台过滤转义等方法
2018/08/17 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
Python hmac模块使用实例解析
2019/12/24 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
python利用线程实现多任务
2020/09/18 Python
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
大学生自荐书范文
2013/12/10 职场文书
小学生手册家长评语
2014/04/16 职场文书
捐书活动总结
2014/05/04 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书
SQL基础的查询语句
2021/11/11 MySQL