您现在的位置是:网站首页> 编程资料编程资料
JS+cookie实现购物评价五星好评功能_javascript技巧_
2023-05-24
391人已围观
简介 JS+cookie实现购物评价五星好评功能_javascript技巧_
本文实例为大家分享了JS+cookie实现购物评价五星好评功能的具体代码,供大家参考,具体内容如下
案例实现的是购物评价中五星点评功能.
通过JS面向对象方法实现
利用cookie实现历史点评保存的功能,在下一次打开页面仍保存上一次点评效果.
具体html,js代码如下:
Document
JS代码部分:
import Component from './Component.js'; export default class Starr extends Component{ labelCon; starCon; startArr=[]; score; face; prv; index; static EVERYSCORE={}; static STARTNUM=5; constructor(_label){ super(); this.label=_label; Object.assign(this.elem.style,{ width: "auto", float: "left", height: "16px", paddingBottom: "10px", marginRight: "20px", paddingTop:"16px" }); Starr.EVERYSCORE[_label]=0; this.creatLabel(_label); this.creatStartCon(); this.creatScore(); this.starCon.addEventListener("mouseover",e=>this.mouseHandler(e)); this.starCon.addEventListener("mouseleave",e=>this.mouseHandler(e)); this.starCon.addEventListener("click",e=>this.mouseHandler(e)); // this.elem.addEventListener("change",e=>this.changeHandler(e)); } //创建label容器 creatLabel(label){ this.labelCon=document.createElement("span"); Object.assign(this.labelCon.style,{ float: "left", height: "16px", lineHeight: "16px", marginRight: "10px", overflow: "hidden", whiteSpace: "nowrap", textOverflow: "ellipsis", font: '12px/150% tahoma,arial,Microsoft YaHei,Hiragino Sans GB,"\u5b8b\u4f53",sans-serif', color: "#666" }); this.labelCon.textContent=label; this.elem.appendChild(this.labelCon); } //创建星星和笑脸的容器 starCon creatStartCon(){ this.starCon=document.createElement("div"); Object.assign(this.starCon.style,{ float:"left", height:"16px", position:"relative", marginTop:"1px" }); for(var i=0;iindex){ this.changestar(this.prv); }else{ this.changestar(index); } //离开时 }else if(e.type==="mouseleave"){ this.face.style.display="none"; if(this.prv>=0){ this.changestar(this.prv); this.changeScore(this.prv); this.changeFace(this.prv); }else{ this.changestar(-1); this.changeScore(-1); this.changeFace(0); } //点击时 }else if(e.type==="click"){ let index=this.startArr.indexOf(e.target); this.prv=index; this.changestar(this.prv); this.changeScore(this.prv); this.changeFace(this.prv); this.getCookie(this.prv+1); Starr.EVERYSCORE[this.label]=index+1; } } //改变星星颜色方法 changestar(index){ for(var i=0;i 最终实现效果: 下次打开仍会显示该点评效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
相关内容
- JS实现服务五星好评_javascript技巧_
- vue使用vue-json-viewer展示JSON数据的详细步骤_vue.js_
- Vue系列之Element UI表单自定义校验规则_vue.js_
- JS实现数组/对象数组删除其中某一项_javascript技巧_
- css+html+js实现五角星评分_javascript技巧_
- JavaScript 中的运算符和表达式介绍(二)_javascript技巧_
- Vben Admin 多标签页状态管理源码学习_vue.js_
- 原生Javascript实现五角星评分_javascript技巧_
- js防抖具体实现以及详细原理步骤说明(附实例)_javascript技巧_
- JavaScript 中的运算符和表达式介绍_javascript技巧_
