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 正则表达式相关应介绍
Nov 27 Javascript
jQuery控制TR显示隐藏的三种常用方法
Aug 21 Javascript
js鼠标悬浮出现遮罩层的方法
Jan 28 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
Jun 23 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
js微信分享实现代码
Oct 11 Javascript
hammer.js实现图片手势放大效果
Aug 29 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
Jan 16 Javascript
js实现点击图片在屏幕中间弹出放大效果
Sep 11 Javascript
React 父子组件通信的实现方法
Dec 05 Javascript
vue 重塑数组之修改数组指定index的值操作
Aug 09 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 数组二分法查找函数代码
2010/02/16 PHP
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
php如何连接sql server
2015/10/16 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
ECMAScript中函数function类型
2015/06/03 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
js事件冒泡与事件捕获详解
2017/02/20 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
JS实现“全选”和&quot;全不选&quot;功能代码实例
2020/02/06 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
python数据结构之二叉树的建立实例
2014/04/29 Python
详解Python多线程
2016/11/14 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
Numpy之文件存取的示例代码
2018/08/03 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
NumPy统计函数的实现方法
2020/01/21 Python
python 如何快速复制序列
2020/09/07 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
英语自荐信常用语句
2013/12/13 职场文书
个人求职简历中英文自我评价
2013/12/16 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
社会工作专业自荐信
2014/09/26 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
停电通知范文
2015/04/16 职场文书
旗帜观后感
2015/06/08 职场文书
繁星春水读书笔记
2015/06/30 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
Springboot中如何自动转JSON输出
2022/06/16 Java/Android