自己做的一个可以用在pc端移动端上点星星评论

html:

<div class="comment-box">
  <div class="info star-info cl docSkill">
    <span class="lbl">医术</span>
    <div class="value star" data-value="5">
      <em class="m-icon m-star"></em>
      <em class="m-icon m-star"></em>
      <em class="m-icon m-star"></em>
      <em class="m-icon m-star"></em>
      <em class="m-icon m-star"></em>
    </div>
  </div>
  <div class="info star-info cl docAttit">
    <span class="lbl">态度</span>
    <div class="value star" data-value="5">
      <em class="m-icon m-star"></em>
      <em class="m-icon m-star"></em>
      <em class="m-icon m-star"></em>
      <em class="m-icon m-star"></em>
      <em class="m-icon m-star"></em>
    </div>
  </div>

  <div class="comment-input">
    <span class="count">120</span>
    <textarea id="txtComment" class="chackTextarea" placeholder="请填写评论内容" maxlength="120"></textarea>
  </div>

</div>

css:

.comment-box {

   padding-top: 10px;

}

.star-info {

  position: relative;

  height: 22px;

`  padding-top: 3px;

  line-height: 25px;

}

.comment-box .star-info {

   height: 30px;

}

.star-info .lbl {

position: absolute;

top: 4px;

left: 10px;

color: #333;

}

.info .value {

color: #666;

}

.star-info .value {

display: block;

padding-left: 35px;

}

.m-icon {

position: relative;

display: block;

width: 26px;

height: 26px;

background: url(../images/my-icon.png) 0 0 no-repeat;

}

.m-star {

background-position: -227px -36px;//灰色星星的位置

}

.star .m-icon {

display: inline-block;

}

.m-star-gray {

background-position: -196px -36px;//点亮星星的位置

}

.comment-input {

position: relative;

padding: 15px 5px 10px 10px;

font-size: 16px;

background-color: #fff;

border-top: 1px solid #ccc;

}

.comment-input .count {

position: absolute;

top: 2px;

right: 3px;

z-index: 1;

font-size: 14px;

color: #999;

}

.comment-input textarea {

display: block;

width: 100%;

height: 170px;

line-height: 18px;

resize: none;

font-size: 15px;

}

js:

$(function () {
    //点星星
    var $toComment = $(‘.to-comment‘),
        $gradecon = $toComment.find(‘.comment-box‘);
    $gradecon.find(‘.star‘).children(‘.m-icon‘).on(‘click‘, function () {
        var $this = $(this),
            count = 4,
            num = $this.index(),
            $parent = $this.parent(‘.star‘),
            $list = $parent.find(‘.m-icon‘);
        $list.removeClass(‘m-star‘);
        $list.addClass(‘m-star-gray‘);
        $parent.attr(‘data-value‘, num + 1);
        for (var i = 0; i <= count; i++) {
            if (i <=num) {
                $list.eq(i).addClass(‘m-star‘);
                $list.eq(i).removeClass(‘m-star-gray‘);
            }
            else {
                $list.eq(i).addClass(‘m-star-gray‘);
                $list.eq(i).removeClass(‘m-star‘);
            }
        }
    });

    var $chackTextarea = $toComment.find(‘#txtComment‘),
        $num = 120;
    $chackTextarea.on(‘keyup‘, function () {
        var $this = $(this),
            medical = $this.val();
        var bool = isChinese(medical);
        var $b = $toComment.find(‘.count‘); //获取当前的数字
        numChange(bool, $this, $num, $b);
    });
});

function isChinese(str) {  //判断是不是中文
    var reCh = /[u00-uff]/;
    return !reCh.test(str);
}

function numChange(bool, $this, $num, $b) {
    var strlen = 0, //初始定义长度为0
        txtval = $.trim($this.val()),
        $par = $(‘.comment-input .count‘);
    for (var i = 0; i < txtval.length; i++) {
        if (bool == true) {
            strlen = strlen + 2; //中文为2个字符
        } else {
            strlen = strlen + 1; //英文一个字符
        }
    }
    strlen = Math.ceil(strlen / 2); //中英文相加除2取整数
    if ($num - strlen < 0) {
        $par.html(‘-‘ + Math.abs($num - strlen)); //超出的样式
        $par.css(‘color‘, ‘#F00‘);
    } else {
        $par.html(($num - strlen)); //正常时候
    }
    $b.html($num - strlen);
}
时间: 2024-10-26 12:13:47

自己做的一个可以用在pc端移动端上点星星评论的相关文章

FMX相当于在界面上自己又做了一个小操作系统

FMX的自画界面我也不看好,比如复制粘贴,太丑了,系统做得很好很精细的复制粘贴界面,就是无法调出,比如MIUI,复制粘贴还能有个放大镜,可以选择到屏幕边缘的文字,可以选择剪贴板内多个可粘贴的文字:还有那个Memo,有的时候该折行的不折行,有的文字看不到了.文本输入框,隐藏剪贴板后,再点击就弹不出来了:系统本身的文本框就没有这个问题.底部输入框输入时自动上移界面,好像是操作系统本身就有的吧,FMX还得自己编很多代码,也不一定编好.自己编码补漏洞是另外一回事.FMX给我的感觉是在界面上自己又做了一个

win 10 开发零基础教学:教你做第一个App—— Hello world

期待已久的win10已经发布了,开发者们现在也可以开发win10 app.如果你是win10 开发的小白,如果你没有接触过app开发,不要怕,今天教大家怎么做一个Hello world应用程序!(此教程适合小白,开发者们请无视!) 1.首先打开vs2015,在文件处点击新建——项目,如图: 选择“通用”——选择“空白应用”,如图并将项目命名为 Hello world,点击确定. 这时候就新建好了我们的一个空白应用程序. 2.首先,我们来认识一下一个空白应用程序的项目组成. 如图所示,点击Main

【随笔】昨晚做了一个梦

昨晚做了一个梦,可能是最近玩<魔兽世界>的缘故,梦的风格很游戏~ 当然,关键不在于这个梦的风格啦,在于一个片段的内容.与 邪恶者的斗争过程中,兄弟我临危受命,去寻找传说中的“先知”(不知道在梦中叫什 么,因为记不清了,叫“仙女”??).我自然是不费吹灰之力就找到了那妹妹~并非出现在天上,只是坐着马车的一个白衣妹妹.见到她,当然很高兴,可是在我 询问问题的时候,似乎忘记了我的使命,问出的问题居然是“我和小耗子会幸福一生么?”答案我很满意,她说“当然,你们会幸福一生”,嗯嗯,尽管是个梦,可 是说不

自己做的一个输入输出缓冲池

2014-05-15 22:02 by Jeff Li 前言 系列文章:[传送门] 马上快要期末考试了,为了学点什么.就准备这系列的博客,记录复习的成果. 正文-计数  概率 概率论研究随机事件.它源于赌徒的研究.即使是今天,概率论也常用于赌博.随机事件的结果是否只凭运气呢?高明的赌徒发现了赌博中的规律.尽管我无法预知事件的具体结果,但我可以了解每种结果出现的可能性.这是概率论的核心. "概率"到底是什么?这在数学上还有争议."频率派"认为概率是重复尝试多次,某种结

用MVVM做了一个保存网页的工具-上篇

前言: 你是否有过收藏了别人博客或文章,当想用的时候却找不到?你是否有过收藏了别人博客或文章,却因为没有网络而打不开网页?OK,下面是我做的一个工具,有兴趣的同学们可以download 玩下,哈哈^.^

利用KBEngine +U3D 做的一个简单MMO手游Demo

利用KBE +U3D 做的一个简单MMO手游Demo目前只完成到一个普通攻击和一个火球术,  火球术需要点击怪物后才能释放.点击npc后会跳到一个副本.里面有一只半兽人. 欢迎大家来试玩 并提出宝贵意见.http://pan.baidu.com/s/1dDtVjnb 感谢kbe 一直以来的帮助.

做了一个密码强度输入测试

<!doctype html> <html> <head> <meta charset="utf-8"> <title>密码强度输入测试</title> <style type="text/css"> .cont { margin-left:300px; margin-top:50px; border:solid 1px #ccc; width:520px; padding:20px

bootstrap做了一个表格

花了一下午做了一个表格: 大致是这样: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>广发互联小贷</title> <meta name="keywords" content="广发互联小贷" /> <meta name="description" co

做最后一个倒下的人

就业大军涌向IT 市场,对于不聪明的人绝对是一个严重的冲击.但是,另一方面,我又很难发挥自身能力的最大化,所以,我只能拼命保住目前的饭碗,争取在夹缝中把html 学会,再做最后的选择.我知道现在很艰难,就像寒冬里的孤雁,但我只能坚信一切都会过去,一定可以撑出一个春天. 累吗?累,因为脑子不够用,对比起来,所有方面都存在巨大差距: 有法子吗?有,坚持!生存!咬牙挺住! 可以加快吗?不能! 可以逃避吗?可以,但是你逃避了这个,还会有更多的不幸等着你去面对! 怎么办?用你的智慧,所有精力,赌上您的一切