您现在的位置是:首页>技术分享>点亮星星评分效果
点亮星星评分效果
发布时间:2017-06-05 编辑:小付 浏览(559) 评论(0)
<html> <head> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <title>星星评分效果</title> <style type="text/css"> #zzjs_net{position:relative;width:150px;height:30px;background:url(/img/starrate.gif);overflow:hidden;cursor:pointer;} #defaultStars{width:100%;height:100%;background:url(/img/starrate.gif) no-repeat;} #zzjs_net ul{list-style:none;margin:0;padding:0;position:absolute;top:0;left:0;} #zzjs_net li{width:30px;height:30px;float:left;text-indent:-100px;overflow:hidden;} </style> <script type="text/javascript"> function $(id){return document.getElementById(id);} window.onload = function(){ //box 为整个结构的最外层容器,由他来捕捉所有事件 var box = $("zzjs_net"); //默认级别,星星的变化都是通过这个层的背景图片的backgroundPosition 变化来实现 var defaultStars = $("defaultStars"); //获得设置的默认级别 var defaultValue = box.getAttribute("default"); var defaultPosition = defaultValue*30 - 150 + "px -30px"; defaultStars.style.backgroundPosition = defaultPosition; box.onmouseover = function(e){ var src = e?e.target:event.srcElement; if (src.tagName == "LI"){ var x = -150 + src.innerHTML*30; defaultStars.style.backgroundPosition = x + "px -30px"; } } box.onmouseout = function(e){ defaultStars.style.backgroundPosition = defaultPosition; } box.onclick = function(e){ var src = e?e.target:event.srcElement; if (src.tagName == "LI"){ var x = -150 + src.innerHTML*30; defaultStars.style.backgroundPosition = x + "px -60px"; //移除事件,让box不在对鼠标动作作出反映 box.onmouseover = box.onmouseout = box.onclick = null; box.style.cursor = "default"; $("www_zzjs_net").innerHTML = "您投下的一票是:" +src.title + ",值是:" + src.innerHTML; } } } </script> </head> <body> <div id="zzjs_net" default="3"> <div id="defaultStars"></div> <ul> <li title="很差">1</li> <li title="不好">2</li> <li title="一般">3</li> <li title="还可以">4</li> <li title="很好">5</li> </ul> </div> </body> </html>
引用于:http://js.alixixi.com/a/2010091564661.shtml
图片地址:http://js.alixixi.com/img/starrate.gif
关键字词:html,css,评分效果