小付博客

无话可说...

您现在的位置是:首页>技术分享>点亮星星评分效果

点亮星星评分效果

发布时间: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,评分效果