`
wangfengmadking
  • 浏览: 5655 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

ajax star rating

阅读更多
A very minimal, yet complete, solution to a star rating system!

Very accurate; uses percentages! Compared with the traditional 5 star system, our percentage based Star Rating function gives you nearly 1,700% increase in accuracy.

Have multiple items on one page for your users to rate? No problem! It can handles an unlimited amount of concurrent operations.
/* AJAX Star Rating v1.0.2, Programming by Ulyses */
/* Updated February 7th, 2007 */

function $(o) { return((typeof(o)=='object'?o:document).getElementById(o)); }
function $S(o) { return($(o).style); }
function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); }
function abPos(o) { var o=(typeof(o)=='object'?o:$(o)), z={X:0,Y:0}; while(o!=null) { z.X+=o.offsetLeft; z.Y+=o.offsetTop; o=o.offsetParent; }; return(z); }
function XY(e,v) { var o=agent('msie')?{'X':event.clientX+document.body.scrollLeft,'Y':event.clientY+document.body.scrollTop}:{'X':e.pageX,'Y':e.pageY}; return(v?o[v]:o); }

var star={

    /* Mouse Events */
    
    'cur':function(e,o) { if(star.stop) { star.stop=0;

        document.onmousemove=function(e) { var n=star.num;
        
            var p=abPos($('star'+n)), x=XY(e), oX=x.X-p.X, oY=x.Y-p.Y; star.num=o.id.substr(4);

            if(oX<1 || oX>84 || oY<0 || oY>19) { star.stop=1; star.revert(); }
            
            else {

                $S('starCur'+n).width=oX+'px';
                $S('starUser'+n).color='#111';
                $('starUser'+n).innerHTML=Math.round(oX/84*100)+'%';
            }
        };
    } },
    'update':function(e,o) { var n=star.num, v=parseInt($('starUser'+n).innerHTML);
    
        n=o.id.substr(4); $('starCur'+n).title=v;

        req=new XMLHttpRequest(); req.open('GET','/AJAX_Star_Vote.php?vote='+(v/100),false); req.send(null);    

    },
    'revert':function() { var n=star.num, v=parseInt($('starCur'+n).title);
    
        $S('starCur'+n).width=Math.round(v*84/100)+'px';
        $('starUser'+n).innerHTML=(v>0?Math.round(v)+'%':'');
        $('starUser'+n).style.color='#888';
        
        document.onmousemove='';

    },

    /* Data */

    'stop':1,
    
    'num':0

};


CSS


#star ul.star { LIST-STYLE: none; MARGIN: 0; PADDING: 0; WIDTH: 85px; HEIGHT: 20px; LEFT: 10px; TOP: -5px; POSITION: relative; FLOAT: left; BACKGROUND: url('/media/stars.gif') repeat-x; CURSOR: pointer; }
#star li { PADDING: 0; MARGIN: 0; FLOAT: left; DISPLAY: block; WIDTH: 85px; HEIGHT: 20px; TEXT-DECORATION: none; text-indent: -9000px; Z-INDEX: 20; POSITION: absolute; PADDING: 0; }
#star li.curr { BACKGROUND: url('/media/stars.gif') left 25px; FONT-SIZE: 1px; }
#star div.user { LEFT: 15px; POSITION: relative; FLOAT: left; FONT-SIZE: 13px; FONT-FAMILY: Arial; COLOR: #888; }

<ul id="star" class="star" onmousedown="star.update(event,this)" onmousemove="star.cur(event,this)" title="Rate This!">
 <li id="starCur" class="curr" title="80" style="width: 67px;"></li>
</ul>
<div id="starUser" class="user">80%</div>
分享到:
评论

相关推荐

    jquery星星评分插件Bootstrap Star Rating

    Bootstrap Star Rating是一款基于jQuery的插件,用于在Web应用程序中创建功能丰富的星级评分系统。它以其简洁的界面和强大的自定义能力,在Web开发领域中受到广泛欢迎。此插件是与Bootstrap框架兼容的,因此可以无缝...

    Ajax-bootstrap-star-rating-codeigniter.zip

    Ajax-bootstrap-star-rating-codeigniter.zip,带编码器点火器的动态自举星级评定,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小...

    jquery插件 star-rating

    3. **初始化插件**:在JavaScript中,通过`$("#yourElement").starRating(options)`来初始化插件,其中`options`是一个包含各种配置参数的对象。 **三、插件功能特性** 1. **默认值和范围**:你可以设置初始的默认...

    [A032]ASP.NET AJAX控件之Rating

    【ASP.NET AJAX Rating 控件详解】 ASP.NET AJAX Rating 控件是微软在ASP.NET框架中提供的一种交互性极强的UI组件,它允许用户通过星形评分系统对内容进行评价。这个控件是ASP.NET AJAX Control Toolkit的一部分,...

    前端项目-bootstrap-star-rating.zip

    【标题】"前端项目-bootstrap-star-rating.zip"是一个前端开发资源包,主要包含了一个基于jQuery的星级评价插件。这个插件的设计目标是为用户提供一种直观、易于使用的评级系统,适用于各种网页应用,如产品评价、...

    star_rating

    "star_rating"是一个关于实现星状评分系统的项目,利用AJAX技术进行动态更新,从而提供用户友好的交互体验。在Web开发中,这样的系统常见于评价、评分或反馈功能,如电商平台的商品评价、电影评分等场景。以下是这个...

    [其他类别]Ajax Star Rate星号评分系统_rate.zip

    Ajax Star Rate星号评分系统是一种常见的用户交互设计,它允许用户通过点击星号来对内容进行评分,同时这些评分能够实时地通过Ajax技术传递到服务器,无需页面刷新。这种技术在网页应用中广泛使用,特别是在电影评价...

    asp.net_AJAX-TK-Rating

    ASP.NET AJAX Toolkit Rating 是一个强大的开发工具,专为在Web应用程序中实现用户友好的星级打分功能而设计。这个控件充分利用了ASP.NET AJAX框架,提供了丰富的交互性和异步更新功能,无需页面刷新即可实现评分...

    5 Star Rating using Javascript.zip

    标题 "5 Star Rating using Javascript.zip" 提供了一个关于使用JavaScript实现五星评级系统的学习资源。JavaScript是一种广泛用于网页和网络应用的编程语言,特别是在交互性方面。在这个项目中,我们将探讨如何利用...

    使用 Ajax 扩展控件 Accordion、Rating、Calendar 等

    CurrentRating="3" StarCssClass="ratingStar" FilledStarCssClass="filledRatingStar" EmptyStarCssClass="emptyRatingStar" OnChanged="Rating1_Changed" /&gt; ``` 至于Calendar控件与TextBox的绑定,可以使用...

    Laravel开发-rating

    在Laravel框架中开发一个评级系统,涉及到许多关键知识点,包括数据库设计、Eloquent ORM的使用、表单处理、路由定义、视图渲染以及Ajax交互等。以下将详细阐述这些内容。 1. **数据库设计**:评级系统的核心是存储...

    Bootstrap 响应式jquery星星评分插件

    5. **AJAX交互**:如果需要将用户的评分保存到服务器,可以使用jQuery的`$.ajax`或`$.post`方法进行异步请求,将评分值发送到后台,同时接收返回的确认信息。 6. **可配置性**:一个好的星星评分插件应该具备可配置...

    jQuery售后五星评价表单代码.zip

    &lt;div id="starRating"&gt; &lt;input type="radio" name="rating" value="1" id="star1"&gt; &lt;label for="star1"&gt;1 &lt;input type="radio" name="rating" value="2" id="star2"&gt; &lt;label for="star2"&gt;2 ...

    js星级评论打分系统点击星星评论

    var elements = document.querySelectorAll('#rating .star'); // 更新所有星星的选中状态 for (var i = 0; i ; i++) { elements[i].classList.remove('selected'); if (i &lt; rating) { elements[i].class...

    jQuery星星评分插件鼠标滑动星星打分代码

    &lt;input id="star-rating" type="number" class="rating" data-min="0" data-max="5" data-step="1" data-size="xs" /&gt; ``` 这个`&lt;input&gt;`元素是评分插件的核心,`data-min`、`data-max`、`data-step`分别代表...

    简洁的jQuery星级评论表单代码.zip

    此外,还可以使用现成的jQuery插件库,如RateYo、Star Rating等,它们提供了更丰富的功能和自定义选项,可以快速实现功能完善的星级评论系统。 总结,利用jQuery创建星级评论表单,可以极大地提升用户体验,同时...

    star-rating

    "star-rating"就是一个专门为WordPress设计的简单星级评分插件,它允许用户对内容进行评分,提升网站的参与度。 JavaScript是一种广泛使用的客户端编程语言,它在网页交互方面扮演着关键角色。在这个星级评分插件中...

    星星点评rating

    - `class='rating-gly-star'` 和 `class='rating-stars'` 的元素用于创建星星的图形,通过改变它们的宽度来模拟星星被选中的效果。具体的样式可能在外部CSS文件中定义,或者内联在HTML中。 在实际应用中,这些星星...

    Bootstrap五星评价,五颗星星

    例如,我们可以用Bootstrap的`glyphicon-star-empty`(空星)和`glyphicon-star`(实心星)图标类。 ```html &lt;div class="rating"&gt; &lt;span class="glyphicon glyphicon-star"&gt; &lt;span class="glyphicon glyphicon-...

    jQuery星级打分效果

    var rating = $('#rating'); var selectedStar = null; // 鼠标悬停事件 rating.on('mousemove', 'span', function(e) { var index = $(this).index(); updateStars(index + 1); }); // 鼠标离开事件 ...

Global site tag (gtag.js) - Google Analytics