javascript 星级评分效果(手写)


Posted in Javascript onDecember 24, 2012

今天上午抽空随手写了个星级评分的效果,给大家分享下。由于水平有限,如有问题请指出。
首先要准备一张星星的图片,灰色是默认状态,黄色是选择状态。如图:
最后附上代码

<!DOCTYPE HTML> 
<html lang="en-US"> 
<head> 
<meta charset="UTF-8"> 
<title>javascript星级评分</title> 
<style type="text/css"> 
*{margin:0;padding:0;} 
.wrapper{height:20px;padding:5px;width:130px;margin:100px auto 10px;} 
a{float:left;width:26px;height:20px;background:url(star.png) 0 -20px no-repeat;} 
p{font:24px SimSun;width:130px;margin-left:auto;margin-right:auto;} 
</style> 
</head> 
<body> 
<div class="wrapper"> 
<a href="javascript:;"></a> 
<a href="javascript:;"></a> 
<a href="javascript:;"></a> 
<a href="javascript:;"></a> 
<a href="javascript:;"></a> 
</div> 
<p></p> 
</body> 
</html> 
<script type="text/javascript"> 
window.onload = function(){ 
var star = document.getElementsByTagName('a'); 
var oDiv = document.getElementsByTagName('div')[0]; 
var temp = 0; 
for(var i = 0, len = star.length; i < len; i++){ 
star[i].index = i; 
star[i].onmouseover = function(){ 
clear(); 
for(var j = 0; j < this.index + 1; j++){ 
star[j].style.backgroundPosition = '0 0'; 
} 
} 
star[i].onmouseout = function(){ 
for(var j = 0; j < this.index + 1; j++){ 
star[j].style.backgroundPosition = '0 -20px'; 
} 
current(temp); 
} 
star[i].onclick = function(){ 
temp = this.index + 1; 
document.getElementsByTagName('p')[0].innerHTML = temp + ' 颗星'; 
current(temp); 
} 
} 
//清除所有 
function clear(){ 
for(var i = 0, len = star.length; i < len; i++){ 
star[i].style.backgroundPosition = '0 -20px'; 
} 
} 
//显示当前第几颗星 
function current(temp){ 
for(var i = 0; i < temp; i++){ 
star[i].style.backgroundPosition = '0 0'; 
} 
} 
}; 
</script>

附上下载地址
PS:这是本人闲着无聊,通过自己所学的 javascript 知识,随意写的一些效果。
Javascript 相关文章推荐
Javascript 事件流和事件绑定
Jul 16 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
Oct 06 Javascript
jqeury-easyui-layout问题解决方法
Mar 24 Javascript
javascript 3d 逐侦产品展示(核心精简)
Mar 26 Javascript
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
Dec 13 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
Jun 06 Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 Javascript
js实现点击按钮复制文本功能
Jul 20 Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
Nov 30 Javascript
bootstrap与pagehelper实现分页效果
Dec 29 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 #Javascript
jquery限制输入字数,并提示剩余字数实现代码
Dec 24 #Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
Dec 23 #Javascript
ajax中get和post的说明及使用与区别
Dec 23 #Javascript
javascript 全选与全取消功能的实现代码
Dec 23 #Javascript
javascript利用控件对windows的操作实现原理与应用
Dec 23 #Javascript
javascript小数四舍五入多种方法实现
Dec 23 #Javascript
You might like
构建简单的Webmail系统
2006/10/09 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
微信小程序实现展示评分结果功能
2019/02/15 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
建龙钢铁面试总结
2014/04/15 面试题
一名毕业生的自我鉴定
2013/12/04 职场文书
成功的酒店创业计划书
2013/12/27 职场文书
有趣的广告词
2014/03/18 职场文书
出国留学担保书
2014/05/20 职场文书
公司经营目标责任书
2015/01/29 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js