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 相关文章推荐
jquery延迟加载外部js实现代码
Jan 11 Javascript
详解js中构造流程图的核心技术JsPlumb
Dec 08 Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 Javascript
js传值后台中文出现乱码的解决方法
Jun 30 Javascript
微信小程序 开发之顶部导航栏实例代码
Feb 23 Javascript
JS实现双击内容变为可编辑状态
Mar 03 Javascript
基于Vue框架vux组件库实现上拉刷新功能
Nov 28 Javascript
js实时监控文本框输入字数的实例代码
Jan 18 Javascript
vue axios 简单封装以及思考
Oct 09 Javascript
详解vue为什么要求组件模板只能有一个根元素
Jul 22 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
Oct 26 Javascript
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 Vue.js
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 include加载文件两种方式效率比较
2010/08/08 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
php截取视频指定帧为图片
2016/05/16 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
JavaScript学习笔记(十)
2010/01/17 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
jQuery中:has选择器用法实例
2014/12/30 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
解读Python中degrees()方法的使用
2015/05/18 Python
利用Python查看目录中的文件示例详解
2017/08/28 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
Django框架反向解析操作详解
2019/11/28 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
求高于平均分的学生学号及成绩
2016/09/01 面试题
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
违反课堂纪律检讨书
2014/01/19 职场文书
教师年度考核评语
2014/04/28 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
合同纠纷调解书
2015/05/20 职场文书
新兵入伍决心书
2015/09/22 职场文书
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL