五角星效果实现

简介: 1.电商项目,评论区五角星功能实现 02五角星案例 * { margin: 0; padding: 0; } ul { list-style: none; } .

1.电商项目,评论区五角星功能实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>02五角星案例</title>
    <style>
        * { margin: 0; padding: 0; }
        ul { list-style: none; }
        .comment {
            color: red;
            /*font-size: 0;*/

            /*设置字符间距*/
            /*letter-spacing: -13px;*/

            /*设置单 词间距 I am a teacher */
            /*word-spacing: -13px;*/
        }

        .comment li {
            float: left;
            /*display: inline-block;*/
            font-size: 40px;

        }
    </style>
    <script src="jquery-1.11.3.min.js"></script>
    <script>
        jQuery(document).ready(function($) {
            var wjx_sel = "",
                wjx_none = "";

            $(".comment").on("mouseenter", "li", function(){
                //prevAll前面所有的兄弟节点
                // $(this).text(wjx_sel).prevAll().text(wjx_sel);

                // $(this).nextAll().text(wjx_none);
                //当执行的jQuery 链式编程断掉的时候,如果能把链再链上就好了。

                //end()可以结束当前调用的链。 恢复上一级的调用链。
                $(this).text(wjx_sel)
                    .prevAll()
                    .text(wjx_sel)
                    .end()    //结束prevAll,回到 $(this)链
                    .nextAll()
                    .text(wjx_none);

                //第二步: 记录一下用户点击的那个五角星
                //给点击的li标签添加一个样式类                
            }).on("click","li", function(){
                $(this).addClass('clicked').siblings().removeClass('clicked');
            }).on("mouseleave",function(){
                //鼠标移开的时候,先给所有的li标签添加一个空心的 五角星

                //隐式迭代
                $(".comment li").text(wjx_none);

                var t = $(".comment li").text();


                $(".clicked").text(wjx_sel).prevAll().text(wjx_sel).end()
                .nextAll().text(wjx_none);
                //第三步: 当鼠标移开评分控件的时候,把click(包括自己)之前的五角星全部变成实心的,后面的变成空心。
            });            

        });
    </script>
</head>
<body>
    <ul class="comment">
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</body>
</html>

 

相关文章
|
6月前
两个坐标间画线
两个坐标间画线
31 3
|
4月前
|
前端开发
canvas系列教程02——圆、弧线、圆角矩形、曲线(气泡、心形、N叶草)、扇形
canvas系列教程02——圆、弧线、圆角矩形、曲线(气泡、心形、N叶草)、扇形
40 0
圆角三角形,二次方贝塞尔曲线
圆角三角形,二次方贝塞尔曲线
|
4月前
|
前端开发 JavaScript
canvas系列教程01——直线、三角形、多边形、矩形、调色板
canvas系列教程01——直线、三角形、多边形、矩形、调色板
103 0
|
前端开发 JavaScript
使用html+css+JavaScript制作抛物线小球
使用html+css+JavaScript制作抛物线小球
156 0
|
前端开发 JavaScript 数据可视化
用Canvas实现简单画图(线、三角形、矩形、圆)
👋因为在B站看到一个小demo是基于canvas写的,非常喜欢,然后上掘金大数据又给我推了 《Canvas 从入门到劝朋友放弃(图解版)》,就像上手一下canvas,本来不想写笔记的,因为《Canvas 从入门到劝朋友放弃(图解版)》自己看了一下挺全的,但本着输入要有输出,所以就有了这篇文章
245 0
138.正方形螺旋拼块图案
138.正方形螺旋拼块图案
75 0
|
前端开发 JavaScript
【横柱带斜三角】进度条实现
手写个进度条,说下自己遇到的问题,第一次的思路是只通过before和after样式写出来,实现进度条,但是发现有个bug就是当达到90多以上,after右上三角颜色就不对了,颜色有出入,无法实现,接下来就想到了第二种方案,在mybar里边分别放两个div 一个渐变的横柱和一个小三角这样,然后依旧通过mybar去控制进度就这样完美解决,具体思路看代码就了解了,看代码吧
179 0