基于jQuery星级评分插件使用

今天有时间把这个功能重写,并以jQuery插件的形式出现以便以后使用。 首先看一下运行效果如下图所示。

    鼠标移到星星上该星星前面的所有星星全部变亮,鼠标单击将记录点击的星星数,前面的所有星星将变亮。

    一、原理

    本程序的原理是这样的:一个“ul”标签,该标签的背景为灰色的星星,控制“ul”标签的宽度显示星星的数量。例如:一个星星图片的宽度为23px,那么要显示10个星星,则“ul”的宽度为230px就可以显示10个星星。

    n个“li”标签,n表示您要显示星星的个数,例如你要显示10个星星那么将有10个“li”标签。那么这10个标签的宽度分别为1个星星的宽度23px,2个星星的宽度46px,......,10个星星的宽度230px。这些“li”标签的背景将为蓝色的星星。

   则另外还有一个“li”标签记录鼠标单击的星星或初始设置。

   这些标签都是重叠在一起的,通过鼠标滑动效果切换这些标签的层叠顺序,显示不同的星星数量,单击记录星星个数。

   二、源码

   $.fn.studyplay_star=function(options,callback){
 //默认设置
 var settings ={
  MaxStar      :20,
  StarWidth    :23,
  CurrentStar  :5,
  Enabled      :true
  }; 
 if(options) { jQuery.extend(settings, options); };
 var container = jQuery(this);
 container.css教程({"position":"relative"})
 .html('<ul class="studyplay_starBg"></ul>') 
 .find('.studyplay_starBg').width(settings.MaxStar*settings.StarWidth)
 .html('<li class="studyplay_starovering" style="width:'+settings.CurrentStar*settings.StarWidth+'px; z-index:0;" id="studyplay_current"></li>');
 if(settings.Enabled)
 {
 var ListArray = ""; 
 for(k=1;k<settings.MaxStar+1;k++)
 {
  ListArray +='<li class="studyplay_starON" style="width:'+settings.StarWidth*k+'px;z-index:'+(settings.MaxStar-k+1)+';"></li>';
 }
 container.find('.studyplay_starBg').append(ListArray)
 .find('.studyplay_starON').hover(function(){
             $("#studyplay_current").hide();
             $(this).removeClass('studyplay_starON').addClass("studyplay_starovering");
             },
           function(){
            $(this).removeClass('studyplay_starovering').addClass("studyplay_starON");
            $("#studyplay_current").show();
            })
 .click(function(){
     var studyplay_count = settings.MaxStar - $(this).css("z-index")+1;
     $("#studyplay_current").width(studyplay_count*settings.StarWidth)
     //回调函数
     if (typeof callback == 'function') {
     callback(studyplay_count);
     return ;
     }
     })
 } 
}

  这个插件有两个参数一个是options表示插件的一些基本设置;callback表示回调函数,该函数存在一个参数表示用户选择的星星数量。

   三、使用

  如果我们想在id为“z”的div上显示5个星星,默认有一颗星星选中,弹出选择星星的个数对话框,就可以如下编写代码:

<div id="z"></div>

<script type="text/网页特效">
  $(document).ready(function(){
   $("#z").studyplay_star({MaxStar:5,CurrentStar:2},function(value){alert(value)});
  }); 
</script>

如果想显示评分结果 可以把Enabled设置false就ok了

使用说明:其中half等于0表示一分一分的增加,1表示0.5的增加

例如:$("#z").studyplay_star({MaxStar:12,CurrentStar:2,Enabled:true,Half:1},function(value){alert(value)});

实例下载地址:http://down.111cn.net/mbs/2011/08/12/halfstar2.rar

时间: 2024-11-03 05:59:16

基于jQuery星级评分插件使用的相关文章

jQuery Raty 一款不错的星级评分插件_jquery

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

基于jQuery.Hz2Py.js插件实现的汉字转拼音特效

jQuery.Hz2Py.js插件实现的汉字转拼音是一款很实用的在线转换功能,此插件已经把汉字打包成一个插件库,调用的时间很简单,只调用一个方法就可以实现转换了 可以实现基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.插件自行下载.使用方法如下(注意修改jq的引入路径). ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

jquery五角星评分插件示例分享

 这篇文章主要介绍了jquery五角星评分插件示例分享,需要的朋友可以参考下    代码如下: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery五角星评分插件</title> <script type="text/javascri

基于jQuery.Hz2Py.js插件实现的汉字转拼音特效_jquery

可以实现基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.插件自行下载.使用方法如下(注意修改jq的引入路径). <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>基于jQuery实现汉字转换成拼音代码</title> <

基于jQuery Bar Indicator 插件实现进度条展示效果_jquery

Bar Indicator是一款基于jQuery的进度条数据展示插件,它可应用于数据统计展示.投票统计以及任务进度等诸多场景中.它使用简单.选项丰富,几乎可以满足用户所有基于进度条的WEB设计需求,本文将结合实例给大家讲解Bar Indicator的使用. 查看演示 下载源码 HTML 首先加载jQuery和Bar Indicator相关js文件以及css文件. <link href="bi-style.css" rel="stylesheet" />

jquery五角星评分插件示例分享_jquery

复制代码 代码如下: <!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>jQuery五角星评分插件</title><script type="text/javascript" src="js/jquery/jquery-1.3.2

qTip 基于JQuery的Tooltip插件[兼容性好]_jquery

主页:http://craigsworks.com/projects/qtip/ 下载:http://craigsworks.com/projects/qtip/download 示例:http://craigsworks.com/projects/qtip/ qTip是一个基于JQuery的Tooltip插件.它几乎支持所有的主流浏览器例如: Internet Explorer 6.0+ Firefox 2.0+ Opera 9.0+ Safari 3.0+ Google Chrome 1.0

jqPlot 基于jquery的画图插件_jquery

前边也讲过一个基于java的图形报表,功能及外观也不错,但存在通用性的问题.所以我们来学一个具有易用性+兼容性+可扩展性的js图表插件. jqPlot是一款基于jquery类库的图标绘制插件.通过jqPlot可以再网页中绘制线状.柱状.饼状等多种样式图表.而且,jqPlot具有插件可扩展性(Pluggability),你可以编写自己的图表样式. 官方地址:http://www.jqplot.com/ 功能概述: 有多种图表样式可供选择 可以自定义日期轴线 可设置旋转轴文字 自动计算趋势线 工具条

基于jQuery选取月份插件的使用教程

这是一个基于jQuery的可以选择年份和月份的月份拾取插件,你可以设置点击页面上的任意元素触发弹出年月选择面板,可以是一个链接也可以是一个输入框,广泛应用于月份查询,而无需设置select表单. HTML 首先将monthpicker插件相关的css和js文件载入,大家可以到源码下载里下载css和js文件. <link rel="stylesheet" type="text/css" href="jquery.monthpicker.css"