js实现星级评分之方法一

利用一个星级评分的小案例,来逐步封装js星级评分插件。

从最基础的js知识,通过一个小的demo,逐步学习js的面向对象知识。

从浅到深,逐步递进。

图片素材

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>星级评分--第一种实现方式</title>
</head>
<style type="text/css">
    body,ul,li{
        margin: 0;
        padding: 0;
    }
    li{
        list-style-type: none;
    }
    .rating{
        width: 162px;
        height: 32px;
        margin: 100px auto;
    }
    .rating-item{
        float: left;
        width: 32px;
        height: 32px;
        background: url(‘./img/rating.png‘) no-repeat;
        cursor: pointer;
    }
</style>
<body>
<ul class="rating" id="rating">
    <li class="rating-item" title="很不好"></li>
    <li class="rating-item" title="不好"></li>
    <li class="rating-item" title="一般"></li>
    <li class="rating-item" title="好"></li>
    <li class="rating-item" title="很好"></li>
</ul>
</body>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script>
<script type="text/javascript">
    var num = 2,
        $rating = $(‘#rating‘),
        $item = $rating.find(‘.rating-item‘);

    //点亮星星
    var lightOn = function(num){
        $item.each(function(){
            if($(this).index() < num){
                $(this).css(‘background-position‘,‘0 -32px‘);
            }else{
                $(this).css(‘background-position‘,‘0 0‘);
            }
        });
    }

    //初始化,点亮num个星星
    lightOn(num);

    $item.on(‘mouseover‘,function(){//鼠标移入时,触发相应操作
        lightOn($(this).index() + 1);
    }).on(‘click‘,function(){//鼠标点击时,触发相应操作
        num = $(this).index() + 1;
    });

    //鼠标移出是,触发相应的操作
    $rating.on(‘mouseout‘,function(){
        lightOn(num);
    });
</script>
</html>
时间: 2024-12-10 19:58:28

js实现星级评分之方法一的相关文章

js css 星级评分

利用css 和 js 实现星级评分 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>rating</title> </head> <style > *{margin:0;padding: 0} ul{width:500px; padding:100px;padding:0 auto

js实现星级评分效果(最短代码)

1. 前言 此方案受到JS单行写一个评级组件启发,自己写了一个简单Demo. 功能有正常滑动,动态显示实心星星个数:当点击确认,则保持当前的实心星星个数:再移动时为点击,则离开后还是保持之前的状态. 此demo没有文字信息等提示,可以根据需要自行添加使用. 2. 代码 <!DOCTYPE html> <html> <head> <title>Star Rating</title> <script src="http://apps.

js判断IE6(推荐方法一)

不得不使用判断的方法 //方法1:推荐 if ( /MSIE 6/.test(navigator.userAgent)){ } //方法2: if ( navigator.appVersion.indexOf("MSIE 6")>-1){ } //方法3:检查浏览器能力来判断是否是IE6 if ( !!window.ActiveXObject&&!window.XMLHttpRequest){ } //方法4:在jQuery1.9中将完全移除该方法 if ($.b

JS实现图片上传预览效果:方法一

<script type="text/javascript"> //处理file input加载的图片文件 $(document).ready(function(e) { //判断浏览器是否有FileReader接口 if(typeof FileReader =='undefined') { /*$("#images_show").css({'background':'none'}).html('亲,您的浏览器还不支持HTML5的FileReader接口

js星级评分点击星级评论打分效果--收藏--转载

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jQuery Raty - 不错的星级评分插件

在做商品评价时,一般情况下,我们需要一个星级评分的组件,而jQuery Raty恰好满足我们的需求. 一.展示 二.使用教程 ①.下载插件 https://github.com/wbotelhos/raty ②.导入文件 <script type="text/javascript" src="${ctx}/components/raty/jquery.raty.js"></script> <link type="text/cs

javascript星级评分(多个)

JS打多个类型星级评分: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta charset="UTF-8"> <title>javascript星级评分&l

慕课网 星级评分原理和实现(上)

源码下载 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>星级评分--第一种实现方式</title> <style> body, ul, li { padding: 0; margin: 0; display: block; } li { list-style-type: none; } .r

慕课网上的星级评分--学习视频后模仿实现

1.本人观看了慕课网上的星级评分视频,课程免费,老师讲的特别棒!视频链接:https://www.imooc.com/learn/842 2.在学习完视频后找到了一位大神手敲的代码,在他的Github上下载后,自己手动实现了一遍.源代码稍后贴出原作者的给的链接:http://www.cnblogs.com/fazero/p/8316926.html 3.本人手动模仿实现了一遍代码,学习了好多,再次只贴出最终的可以点亮整颗星与半颗星的javascript代码,如有雷同版权为原作者所有: <scri