bootstrap五星评分_如何用纯代码实现评分星级显示?

showRatingStars

/**

* showRatingStars 显示评分星级

* @param {Object} myCanvas 画布对象

* @param {Number} rating 评分

* @param {Number} counts star个数

* @param {Number} size star大小

* @param {Object} style star样式

* Example: style = {

* borderColor:"#21DEEF",

* fillColor:"#21DEEF",

* spaceColor:"#FFFFFF"

* }

* @return none*/

functionshowRatingStars(myCanvas, rating, counts, size, style) {//检测rating与star数目是否合适

if(rating>counts) {

alert("Please set suitable rating and counts!");return;

}//检测大小设置是否合适

if(myCanvas.offsetWidth

alert("Please set suitable size and myCanvas' size!");return;

}varcontext=myCanvas.getContext('2d');varxStart=rating*size;varyStart= 0;varxEnd=(Math.ceil(rating)+ 1)*size;varyEnd= 0;varradius=size/ 2;//线性渐变,由左至右

varlinear=context.createLinearGradient(xStart, yStart, xEnd, yEnd);

linear.addColorStop(0, style.fillColor);

linear.addColorStop(0.01, style.spaceColor);

linear.addColorStop(1, style.spaceColor);

context.fillStyle=linear;//star边框颜色设置

context.strokeStyle=style.borderColor;

context.lineWidth= 1;//绘制star的顶点坐标

varx=radius,

y= 0;for(vari= 0; i

context.beginPath();varx1=size*Math.sin(Math.PI/ 10);varh1=size*Math.cos(Math.PI/ 10);varx2=radius;varh2=radius*Math.tan(Math.PI/ 5);

context.lineTo(x+x1, y+h1);

context.lineTo(x-radius, y+h2);

context.lineTo(x+radius, y+h2);

context.lineTo(x-x1, y+h1);

context.lineTo(x-x1, y+h1);

context.lineTo(x, y);

context.closePath();

context.stroke();

context.fill();

x=(i+ 1.5)*size;

y= 0;

context.moveTo(x, y);

}

}//参数设置与函数调用

varsize= 25;varrating= 4.57;varcounts= 10;varstyle={

borderColor:"#21DEEF",

fillColor:"#21DEEF",

spaceColor:"#FFFFFF"};varmyCanvas=document.getElementById("myCanvas");

showRatingStars(myCanvas, rating, counts, size, style);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

18.变量

Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。 变量在使用前必须对其声明,只有在变量声明以后,才能为其分配相应长度的存储单元。 注意事项…

alertdialog android api 11,android – 设备api级别11的DialogFragments

我设法在兼容包的DialogFragment.java中正确修复了这个问题:改变第74行:boolean mShowsDialog false;注释掉第232行:// mShowsDialog mContainerId 0;然后将两个show方法更改为:public void show(FragmentManager manager, Str…

py 字典添加多个value_# Python 3 # Python 3字典Dictionary(1)

Python3 字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d {key1 : value1, key2 : value2 }键必须是唯…

饶军:Apache Kafka的过去,现在,和未来

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本文首发在云社区,未经许可,不得转载。大家好,我大概简单的介绍一下,我叫饶军,我是硅谷的初创公司Confluent的联合创始人之一,我们公司…

机器人 树莓派 自闭症_用机器人孩子提高社交能力 让自闭儿童走出自闭

一项由耶鲁大学的研究团队研究发现,通过让患有自闭症谱系障碍(autism spectrum disorders,ASD)的孩童与机器人相处一个月,极大地提高了自闭症儿童的社交能力。耶鲁大学研究中的机器人可以通过眼神接触和模仿其它社交行为,通过讲故事和互动游戏…

19.常量-final

final 常量 final修饰,只能被初始化一次。 public static void main(String[] args){final int a3;a4;//报错/*TestVariable.java:7: 错误: 无法为最终变量a分配值a4;^ 1 个错误*/}常量一般用大写来修饰。 ------------- 更多的Java,Angular,…

Android手机avi转换为mp4手机,如何把avi转换为mp4

AVI是目前比较常见的一种音视频交错格式,这种格式的文件在多种地方是可以看到的,大多在游戏录制、光盘文件中可以见到此类文件。其画质不错,适合在电脑上观看,但是现在我们使用较多的是手机、iPad等设备。如果我们想要在这些设备上…

伪代码书写规范_C++代码书写规范(推荐新手程序员)

代码就是程序员的面子,无论是在工作中在电脑上写程序代码还是在面试时在纸上写演示代码我们都希望写出整洁,优雅的代码。特别在工作中当我们碰到需要维护别人的代码,或者是多人参与一个项目大家一起写代码的时候,如果碰到一些丑陋…

Java基础17:Java IO流总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/80201802 这位大侠,这是我的公众号:程序员江湖。 分享程序员面试与技术的那些事。 干货满满,关注就送。 本文介…

nuxt页面跳转_nuxt 项目如何解决组件复用时页面不刷新的问题

组件复用会在两种情况下发生:1、使用 keep-alive 时,页面再次跳转时,数据不更新每一次路由的切换都会导致页面被重新渲染,无论是各种钩子还是异步获取数据函数都会被执行,为了提高网站性能,可以使用 keep-a…

20.命名规范

所有变量,方法,类名:见名知意 变量,方法名 --首字母小写和驼峰原则。 如:run(),getName() 常量 ---大写字母和下划线:MAX_VALUE 类名 ---首字母大写和驼峰原则。 如:Man,HelloWorld ------…

k8s查看pod的yaml文件_K8s-yaml的使用及命令

YAML配置文件管理对象对象管理:# 创建deployment资源kubectl create-f nginx-deployment.yaml# 查看deploymentkubectl get deploy# 查看ReplicaSetkubectl get rs# 查看pods所有标签kubectl get pods--show-labels# 根据标签查看podskubectl get pods-l appnginx# …

Orange Business Services 全球发布 Easy Go Network,帮助企业加速实现“网络即服务”...

100% 数字化, 软件定义网络( SDN) 产品在 75 个国家上市 在云、移动化、大数据和物联网(IoT)趋势的推动下,企业不断寻求更加智能和更加灵活的网络,以支持他们的数字化转型方案。而网络只有演进至“网络即服务”(NaaS&a…

vue的html自动刷新,Vue页面刷新记住页面状态的实现

环境vue项目,页面有搜索、筛选项等。需求页面跳转,切换或者刷新,希望可以记住用户在页面的筛选状态方案v1vue有提供一种缓存组件的解决方案 — keep-alive。缓存不活动的组件实例,而不是销毁它们。我们可以使用keep-alive包括路由…

python 程序停止打印日志_Python日志打印

简单示例import sysimport ctypesimport loggingimport logging.handlersreload(sys)sys.setdefaultencoding(utf-8)LOG_FILE test_loglogging.basicConfig(filename LOG_FILE,format %(asctime)s - %(levelname)s -%(process)d- %(filename)s:%(funcName)s:%(lineno)d - %(…

21.和和instance of

>> 右移一位。相当于除2 << 左移一位。相当于乘2 public static void main(String[] args) {int a3<<2;int b12>>2;System.out.println("a"a);System.out.println("b"b);}解析&#xff1a; a3*2*212 b12/2/23 运行结果&#xf…

html语言闪烁特效代码,css3 文字闪烁特效代码

今天给大家分享几个文字闪烁特效代码&#xff0c;纯css3代码实现&#xff0c;对于新手小伙伴值得拿来学习一下。文字闪烁特效一通过改变透明度来实现文字的渐变闪烁&#xff0c;代码如下&#xff1a;文字闪烁&#xff1a;闪烁效果.main{color: #666;margin-top: 50px;}/* 定义k…

keyshot怎么贴logo_如何使用KeyShot添加有织纹的Logo

如果你的产品上有企业logo&#xff0c;那么将logo作为一种材质(如镀铬贴纸)就很常见了&#xff0c;但不是在3D里建模logo&#xff0c;建模logo会产生额外的工作&#xff0c;还会降低建模的效率&#xff0c;不过KeyShot提供了一种简单的方法&#xff0c;可以更快地实现相同的效果…

tar解压出错tar: Child returned status 1

一、错误情况 目前我遇到错误情况&#xff1a; 1、压缩文件不是 .tar.gz的文件是.tar文件。使用了 tar -zxvf 命令。 解决方法&#xff1a; 去掉z。 原因&#xff1a; .tar只是将文件打包&#xff0c;文件的大小没什么变化。 .tar.gz是加入了gzip的压缩命令&#xff0c…