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 相关文章推荐
很好用的js日历算法详细代码
Mar 07 Javascript
简单易用的倒计时js代码
Aug 04 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
Sep 10 Javascript
javascript中bind函数的作用实例介绍
Sep 28 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
Mar 20 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
Nov 29 Javascript
js实现图片左右滚动效果
Feb 27 Javascript
基于vue.js实现的分页
Mar 13 Javascript
JavaScript动态加载重复绑定问题
Apr 01 Javascript
基于JS实现一个随机生成验证码功能
May 29 Javascript
JS Web Flex弹性盒子模型代码实例
Mar 10 Javascript
如何在JavaScript中使用localStorage详情
Feb 04 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
PHP反转字符串函数strrev()函数的用法
2012/02/04 PHP
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
jQuery中on方法使用注意事项详解
2017/02/15 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
js编写简易的计算器
2020/07/29 Javascript
Python实现的ini文件操作类分享
2014/11/20 Python
Python的设计模式编程入门指南
2015/04/02 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
2017/09/08 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
python中封包建立过程实例
2021/02/18 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
司法局火灾防控方案
2014/06/05 职场文书
会计学专业自荐信
2014/06/25 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
Python爬虫之爬取二手房信息
2021/04/27 Python
关于python类SortedList详解
2021/09/04 Python
python处理json数据文件
2022/04/11 Python
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang