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(DHTML)中的一些技巧
Jan 09 Javascript
JavaScript栏目列表隐藏/显示简单实现
Apr 03 Javascript
使用js的replace()方法查找字符示例代码
Oct 28 Javascript
document.forms[].submit()使用介绍
Feb 19 Javascript
jquery引用方法时传递参数原理分析
Oct 13 Javascript
JavaScript简单表格编辑功能实现方法
Apr 16 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
AngularJs Injecting Services Into Controllers详解
Sep 02 Javascript
利用Node.js编写跨平台的spawn语句详解
Feb 12 Javascript
源码分析Vue.js的监听实现教程
Apr 23 Javascript
layer实现弹出层自动调节位置
Sep 05 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
Mar 31 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
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
jquery实现下拉框多选方法介绍
2017/01/03 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
JS实现简易图片自动轮播
2020/10/16 Javascript
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
Python转换时间的图文方法
2019/07/01 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
python怎么删除缓存文件
2020/07/19 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
如何开启linux的ssh服务
2013/06/03 面试题
绘画设计学生的个人自我评价
2013/09/20 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python