摘要:代码的完善需要更多的人参与其中,我希望有更多优秀的编程者可以参与其中一起讨论可以继续优化的地方以方便之后的改善。结尾在编程的过程中,我慢慢的发现了代码带来的魅力,无穷的想象力总能靠代码来实现。
星级评分插件
直接上图先看为主:
具体代码呈现:
html部分:
CSS部分: /*网页的全局样式 解决兼容问题*/ body,div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,table,tr,td,form,input,select,textarea,span,img,a,em,strong,*{ margin:0; padding:0;} body{ font-family:"宋体"; font-size:12px; color:#000000;} ul,ol,li{ list-style:none;} h1,h2,h3,h4,h5,h6{ font-size:14px;} input,select,textarea{ vertical-align:middle;} img{ border:none; vertical-align:middle;} a{ text-decoration:none; color:#333333;} a:hover{ color:#009999;} .clear{ clear:both; height:0px; width:0px; overflow:hidden;} body{ background: #666; } .wrap-star,.wrap-star2{ width: 105px; height: 21px; margin: 100px auto; } .inner-star{ width: 21px; height: 21px; float: left; background: url("commstar.png") no-repeat 0 -21px; cursor: pointer; }
JS部分: //此部分用到了sea.js所以要特别注意一下 //default.js部分: define(function(require,exports,module){ //当前目录 var $ = require("./jquery.js"); $(()=>{ var StarProduct=(function(){ var extend=function(childClass,parentClass){ var B=function(){}; B.prototype=parentClass.prototype; childClass.prototype=new B(); childClass.prototype.constructor=childClass; } var Star=function(el,options){ this.$el=$(el); this.$item=this.$el.find("li"); this.opts=options; this.add=1; this.selectEvent="mouseover"; } Star.prototype.init=function(){ this.comStar(this.opts.num); if(!this.opts.readyOnly){ this.bindEvent(); } }; Star.prototype.comStar=function(num){ num=parseInt(num); this.$item.each(function(ind){ if(ind在优化过程中我主要用到了以下几方面思想:
继承:因为代码的复用性太多,我针对有复用性的几个地方开辟了一个新的父类,让子类拥有和父类一样的属性和方法。
面向对象的设计模式,虽然现在很多人都在喊函数式编程,但在这个插件的使用过程中并没有过多的用到这种思想
在具体的编程过程中有些地方我已经进行了注释,如果还有不懂得可以私聊的方式进行
难点:在编程过程中,我认为可能的难点就是在半颗星的编程,在半颗星的编程过程中大家可以多停留一会。
代码的完善需要更多的人参与其中,我希望有更多优秀的编程者可以参与其中一起讨论可以继续优化的地方以方便之后的改善。
结尾:在编程的过程中,我慢慢的发现了代码带来的魅力,无穷的想象力总能靠代码来实现。每次在看别人的Demo中的按例的时候总会看到别人的代码写的如此优雅,总让我羡慕不已,同时在社区的发展过程中,我每写一篇文章也会或多或少的结交更多的朋友,希望大家通过此篇文章也可以结交更多的编程好友,这或许是我每次能够继续写下去文章的动力吧。
时间:18年9.20日
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/52982.html
摘要:本篇文章我们进一步深入项目设计评价组件。使得组件更加便于维护。路径配置内自动补全设置通过重命名设置对组件导入模块时进行了重命名。全部有图点评使用引入的组件组件就是上图标记的分隔线。 在上篇文章我们将项目头部模块进行了编写与数据渲染。 本篇文章我们进一步深入项目设计评价组件。 showImg(https://segmentfault.com/img/bVbt6IP?w=374&h=417...
摘要:协同过滤提出了一种支持不完整评分矩阵的矩阵分解方法不用对评分矩阵进行估值填充。使用的是交叉最小二乘法来最优化损失函数。 构建基于Spark的推荐引擎(Python) 推荐引擎背后的想法是预测人们可能喜好的物品并通过探寻物品之间的联系来辅助这个过程 在学习Spark机器学习这本书时,书上用scala完成,自己不熟悉遂用pyshark完成,更深入的理解了spark对协同过滤的实现 在这里我...
阅读 2722·2021-11-11 17:21
阅读 613·2021-09-23 11:22
阅读 3577·2019-08-30 15:55
阅读 1640·2019-08-29 17:15
阅读 572·2019-08-29 16:38
阅读 904·2019-08-26 11:54
阅读 2503·2019-08-26 11:53
阅读 2749·2019-08-26 10:31