订单评星(原生js)

star.gif
基本思路

工作中增加评星的需求,开始网上没有找到合适的方法,插件并不实用。星星亮和不亮用css背景图控制,开始PC端用的onmousemove,鼠标滑动改变分数。移动端不支持onmousemove,移动端改成了onclick。

css样式:
*{margin:0;padding:0;}
.pingfen{ width:135px;margin:10px auto;height:28px;}
.pingfen li{ width:27px;float:left;height:28px; cursor:pointer;background:url(star.gif) no-repeat 0 0; list-style:none;}
html:
<div id="pingfen" class="pingfen">
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>
js:
<script>
    window.onload=function(){
        var aLi=document.getElementsByTagName('li');

        for(var i=0; i<aLi.length; i++){
            aLi[i].index=i;
            aLi[i].onclick=function(){
                for(var i=0; i<aLi.length; i++){
                    if(i<=this.index){
                        aLi[i].style.background='url(star.gif) no-repeat 0 -29px';
                    }else{
                        aLi[i].style.background='url(star.gif) no-repeat 0 0px';
                    }
                }
                console.log('你打了'+(this.index+1)+'分')
            };

            
        }
    };
</script>
星星图片:
star.gif
总结:

欢迎大家和我一起讨论,有考虑不到的方面或者,其他技术方面的问题可以留言。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,273评论 25 709
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,681评论 1 92
  • github排名https://github.com/trending,github搜索:https://gith...
    小米君的demo阅读 10,284评论 2 38
  • 有一帘幽梦 共一轮明月 等一世缘来 用一生纯情 结一场痴恋 王子啊 时光静好 请策马奔来
    云淡风轻之蓝阅读 1,904评论 47 39
  • 春风得意马蹄疾,一朝看尽长安花。李白的诗,最是平易得人心。我想和你去长安,去赏那美丽的长安花。 ①陕西历史博物馆...
    猫啊喵阅读 3,511评论 0 1