评分组件(星星)

星星评分.png

1.文字型(不带半星)

html结构

    <input type="hidden" value=""  title="11">
    <input type="hidden" value="">

css样式

    <style>
    .stars{padding-left:16px;padding-top:7px;}
    .stars:after{ 
            content: '';
            display: block;
            clear: both;
            height: 0;
            visibility: hidden;
        }
        .clearfix{ /*兼容 IE*/
            zoom: 1;
        }
    .stars ul li,.stars ul,.stars span{ float:left;}
    .stars ul li{ list-style: none; font-size: 32px; color:#999; padding-right:3px; cursor: pointer;user-select: none; }
    .stars ul .col{color: #ffc20e;/*文字渐变*/background-image: -webkit-gradient(linear, 0 0, 0 bottom, from(rgba(252,175,23, 1)), to(rgba(252,241,110, 0.6)));-webkit-background-clip: text;-webkit-text-fill-color: transparent; }
    .stars span{display:inline;padding-left:20px; height:79px;line-height:79px;font-weight:bold;}
    </style>

js代码

    <script>
        var input=document.querySelectorAll('input[type="hidden"]');
        input.forEach(function(_input){
            var _inputTiT=_input.getAttribute('title')|| 5;
            var div=document.createElement('div');
            div.className='stars';
            _input.parentNode.insertBefore(div,_input);
            var ul=document.createElement('ul');
            div.appendChild(ul);
            var name= ["零","特别差,给1分","很差,给2分","一般般,给3分","很好,给4分","非常好,给5分","特别好,给6分","好极了,给7分","好的一塌糊涂,给8分","无可挑剔,给9分","完美无缺,给10分","好的没话说~"];
            for (var i =1; i <=_inputTiT; i++){
                var li=document.createElement('li');
                ul.appendChild(li);
                li.innerHTML='★';
                li.title=name[i];
            }
            var span=document.createElement('span');
            div.appendChild(span);

            var LI=ul.querySelectorAll('li');
            for (var j = 0; j <= _input.value; j++) {
                if(_input.value=="")break;
                LI[j].className = 'col';
            }
            if (_input.value>10) {
                span.innerHTML=name[11];
            }
            // span.innerHTML=name[_input.value]?:"";
            LI.forEach(function(_li,a){
               //点击评分
                _li.onclick=function(){
                    span.innerHTML=_li.title;
                    _input.value=a;
                }
                //移到星星上
                _li.onmouseover=function(){
                    for (var i = 0; i < LI.length; i++) {
                        LI[i].className ='';
                }
                    for (var j= 0; j <= a; j++ ){
                        LI[j].className='col';
                    }
                }
                //移开后
                _li.onmouseout=function(){
                    for (var i = 0; i < LI.length; i++) {
                        LI[i].className = '';
                    }
                    for (var j = 0; j <=_input.value; j++) {
                        if(_input.value=="")break;
                         LI[j].className = 'col';
                    }
                }
            })
        })
    </script>

2.图片型(带半星)

星星评分2.png

x.png

html结构

    <input type="hidden" title="10" value="3.5">
    <input type="hidden" title="5" value="1.5">

css样式

    <style>
        .xin{height: 25px; background: url(x.png); position: relative; display: inline-block;}
        .xin span{display: block; height: 25px; background: #7fb80e; position: absolute; left: 0; top: 0;z-index: -1;transition: 0.2s;}
        .xin ul{position: absolute; top: 0; left: 0; height: 25px; margin: 0; padding: 0; list-style: none;}
        .xin ul li{float: left; width: 18px; height: 25px;}
        .fensu{display: inline-block;}
    </style>

js代码

    <script>
        var input=document.querySelectorAll("input[type=hidden]");
        input.forEach(function(_input){
            var Div=document.createElement("div");
            Div.className="xin";
            Div.style.width=18*(_input.title || 5)*2 + "px";
            _input.parentNode.insertBefore(Div,_input);
            var span=document.createElement("span");
            span.style.width=(_input.value)*36+"px";
            var p=document.createElement("p");
            p.innerHTML=_input.value+"分";
            p.className="fensu";
            Div.parentNode.insertBefore(p,Div);
            Div.parentNode.insertBefore(Div,p);
            Div.appendChild(span);
            var ul=document.createElement("ul");
            Div.appendChild(ul);
            for(var i=0;i<(_input.title || 5)*2;i++){
                var li=document.createElement("li");
                li.title=(i+1)/2+"分";
                ul.appendChild(li);
            }
            var LI=ul.querySelectorAll("li");
            LI.forEach(function(_li,x){
                _li.onclick=function(){
                    _input.value=(x+1)/2;
                    span.style.width=18*(x+1)+"px";
                    p.innerHTML=_input.value+"分";
                }
                _li.onmouseover=function(){
                    span.style.width=18*(x+1)+"px";
                }
                _li.onmouseout=function(){
                    span.style.width=(_input.value)*36+"px";
                }
            })
            var br=document.createElement("br");
            p.parentNode.insertBefore(br,p);
            p.parentNode.insertBefore(p,br);
        })
    </script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342