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 10 Javascript
使用JQUERY Tabs插件宿主IFRAMES
Jan 01 Javascript
html中table数据排序的js代码
Aug 09 Javascript
JQuery里面的几种选择器 查找满足条件的元素$(&quot;#控件ID&quot;)
Aug 23 Javascript
js取float型小数点后两位数的方法
Jan 18 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
Oct 31 Javascript
JS 对java返回的json格式的数据处理方法
Dec 05 Javascript
详解angular笔记路由之angular-router
Sep 12 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
Jan 22 Javascript
小程序中canvas的drawImage方法参数使用详解
Jul 04 Javascript
layui实现数据分页功能(ajax异步)
Jul 27 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
php发送与接收流文件的方法
2015/02/11 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
stripos函数知识点实例分享
2019/02/11 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
基于jquery animate操作css样式属性小结
2015/11/27 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
js中的闭包实例展示
2018/11/01 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
Python实现配置文件备份的方法
2015/07/30 Python
Python 中pandas.read_excel详细介绍
2017/06/23 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python面向对象程序设计示例小结
2019/01/30 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
高分子材料与工程专业推荐信
2013/12/01 职场文书
木工主管岗位职责
2013/12/08 职场文书
求职信写作要突出重点
2014/01/01 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
乡村文明行动实施方案
2014/03/29 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
奖学金感谢信
2015/01/21 职场文书
党员活动总结
2015/02/04 职场文书
酒会开场白大全
2015/06/01 职场文书
环保证明
2015/06/23 职场文书