`
xuedong
  • 浏览: 298814 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js星星评分效果

阅读更多



 一个页面多个评分效果

js星星评分的代码在网上一搜就是一堆,可大部分是一个页面只能有一个,刚碰到一个需求,一个页面需要评多次的,所以自己在网上找了然后总结了下分享给大家。

以下是需要用到的样式代码

#rateStatus{float:left; clear:both; width:100%; height:20px;}
    #rateMe{ clear:both; width:100%;  padding:0px; margin:0px;}
    #rateMe li{float:left;list-style:none;}
    #rateMe li a:hover,
    #rateMe .on{background:url(star_on.gif) no-repeat;width:12px;height:12px;}
    #rateMe a{float:left;background:url(star_off.gif) no-repeat;width:12px; height:12px;}
    #ratingSaved{display:none;}
    .saved{color:red; }

 

 以下是HTML代码

 

<span id="rateStatus">评分...</span>
<span id="ratingSaved">评分结果!</span> 
<div id="rateMe" title="评分...">
    <a onclick="rateIt(1,this)" id="1_1" title="较差" onmouseover="rating(1,this)" onmouseout="off(1,this)"></a>
    <a onclick="rateIt(1,this)" id="1_2" title="还可以" onmouseover="rating(1,this)" onmouseout="off(1,this)"></a>
    <a onclick="rateIt(1,this)" id="1_3" title="好" onmouseover="rating(1,this)" onmouseout="off(1,this)"></a>
     <a onclick="rateIt(1,this)" id="1_4" title="相当好" onmouseover="rating(1,this)" onmouseout="off(1,this)"></a>
      <a onclick="rateIt(1,this)" id="1_5" title="好极了" onmouseover="rating(1,this)" onmouseout="off(1,this)"></a>
</div>

<div id="rateMe" title="评分...">
    <a onclick="rateIt(2,this)" id="2_1" title="较差" onmouseover="rating(2,this)" onmouseout="off(2,this)"></a>
    <a onclick="rateIt(2,this)" id="2_2" title="还可以" onmouseover="rating(2,this)" onmouseout="off(2,this)"></a>
    <a onclick="rateIt(2,this)" id="2_3" title="好" onmouseover="rating(2,this)" onmouseout="off(2,this)"></a>
     <a onclick="rateIt(2,this)" id="2_4" title="相当好" onmouseover="rating(2,this)" onmouseout="off(2,this)"></a>
      <a onclick="rateIt(2,this)" id="2_5" title="好极了" onmouseover="rating(2,this)" onmouseout="off(2,this)"></a>
</div>

 

以下是js代码:

 

var sMax;	// 最大数量的星星即最大评分值
var holder; // 鼠标停留的评分控件
var preSet; // 保存了评分值(通过单击来进行评分)
var rated=new Array(); //是否评分过,并保存了结果(注意此值一旦设为空,就不能再评分)

// 鼠标停留事件
function rating(idPre,num){
	sMax = 0;	// 默认值为0
	for(n=0; n<num.parentNode.childNodes.length; n++){
		if(num.parentNode.childNodes[n].nodeName == "A"){
			sMax++;	
		}
	}
	
	if(!rated[idPre]){
		
		s = num.id.replace(idPre+'_', ''); // 获取选中的星星的索引,这里使用_1,_2,_3,_4,_5来做为评分控件的ID,当然也有其他的方式。
		a = 0;
		for(i=1; i<=sMax; i++){		
			if(i<=s){
				
				document.getElementById(idPre+"_"+i).className = "on";
				document.getElementById("rateStatus").innerHTML = num.title;	
				holder = a+1;
				a++;
			}else{
				
				document.getElementById(idPre+"_"+i).className = "";
			}
		}
	}
}

// 离开事件
function off(idPre,me){
	if(!rated[idPre]){
		if(!preSet){	
			for(i=1; i<=sMax; i++){		
				document.getElementById(idPre+"_"+i).className = "";
				document.getElementById("rateStatus").innerHTML = me.parentNode.title;
			}
		}else{
			rating(idPre,preSet);
			//document.getElementById("rateStatus").innerHTML = document.getElementById("ratingSaved").innerHTML;
		}
	}
}

// 点击进行评分
function rateIt(idPre,me){
	if(!rated[idPre]){
		document.getElementById("rateStatus").innerHTML = me.title;//document.getElementById("ratingSaved").innerHTML + " :: "+
		preSet = me;
		//rated=1;  //设为1以后,就变成了最终结果,不能再修改评分结果
		rated[idPre]=1;
		sendRate(me);
		rating(idPre,me);
	}
}

//使用Ajax或其他方式发送评分结果 
function sendRate(sel){
	//alert("评分结果: "+sel.title);
}

 

 实现的效果图如下:

 

 



 

 

 

 

接下来把代码打包上传

 

 

  • 大小: 1.6 KB
1
0
分享到:
评论

相关推荐

    仿淘宝星星评分效果-纯JS

    在本文中,我们将深入探讨如何使用纯JavaScript实现一个仿照淘宝星星评分效果的功能。这个功能在电商网站上非常常见,它允许用户通过选择星星数量来给出商品或服务的评价。以下是一些关键知识点: 1. **HTML结构**...

    原生js星星评分

    原生JavaScript实现星星评分系统是一种常见的用户界面交互设计,它允许用户通过点击星星来给予某个对象(如商品、服务或内容)评分。这种设计通常用于电商网站、电影评分平台等,提供直观、易于理解的反馈机制。在不...

    javascript的星星评分

    JavaScript的星星评分系统是一种常见的用户反馈机制,常用于电影评分、产品评价或服务满意度调查等场景。这个系统允许用户通过选择不同数量的星星来表达他们的评价等级,通常从一星(最低)到五星(最高)。在本文中...

    css星星评分效果

    在网页设计中,星星评分效果是一种常见的用户交互元素,它允许用户通过选择星星数量来表达对某个产品或服务的评价。这种效果不仅直观易用,还能提升网站的用户体验。本教程将详细介绍如何实现CSS星星评分效果,以及...

    Js星星评分

    在本文中,我们将深入探讨如何实现JavaScript星星评分的原理、设计和实现方法。 ### 1. 基本原理 星星评分的核心在于利用HTML和CSS构建静态的星星图标,然后通过JavaScript添加动态交互功能。HTML用于创建评分元素...

    js星星评分C#

    - **jQuery Rater插件**:`jquery.rater.js`是这个项目中使用的星星评分插件,它扩展了jQuery的功能,提供了星星评分的动态效果和交互。用户点击星星时,插件会改变选中的星星样式,并记录用户的评分。 - **CSS...

    js 点亮星星评分

    通过以上步骤,你可以创建一个功能完备且用户体验良好的JavaScript星星评分系统。记住,优秀的前端开发不仅仅是代码的实现,还包括对用户体验的细心打磨和优化。在实际应用中,还需要考虑性能、可访问性以及与后端...

    简易 js星星评分html代码

    本项目名为"简易 js星星评分html代码",主要展示了如何利用JavaScript、HTML和Bootstrap框架创建一个简单的星星评分功能。 首先,我们需要理解HTML是网页的基础结构语言,用于定义页面的布局和内容。在这个项目中,...

    js星星打分/评分

    在实际应用中,这样的星星评分系统可以与其他JavaScript库(如jQuery)结合使用,以简化DOM操作和事件处理。同时,为了兼容不同的浏览器和设备,开发者可能还需要考虑响应式设计,确保评分组件在手机和平板等小屏幕...

    jquery滑动星星评分效果代码

    标题中的“jquery滑动星星评分效果代码”是指在网页中实现一种交互式的用户评价系统,用户可以通过滑动鼠标选择星级来给出对某个产品或服务的评分。这种效果常见于电影评分、电商商品评价等场景,增加了用户体验的...

    js等级评分效果(星星实现打分功能)

    在JavaScript编程中,实现一个等级评分效果,通常指的是创建一种用户界面,允许用户通过点击星星来为某个项目或内容给出评分。这种交互式设计常见于评论系统、产品评价或者在线调查中,它提供了直观且友好的用户体验...

    JS 星星评分,JS 评分

    本教程将详细讲解如何使用JavaScript(JS)、CSS(Cascading Style Sheets)和HTML(HyperText Markup Language)来创建一个星星评分系统。 首先,我们需要理解基础的HTML结构。在`rating.html`文件中,通常会包含...

    Bootstrap图标实现移动端的星星评分功能

    Bootstrap图标在移动端应用中常用于增强用户界面的视觉效果,特别是在实现星星评分功能时,它能够提供直观且易于理解的反馈。Bootstrap图标库通常包含了多种预定义的图标,包括星形图标,这些图标设计简洁、响应式且...

    基于jQuery的动态星星评分效果.zip

    如果它是JavaScript文件,那可能包含了实现星星评分效果的jQuery代码;如果是CSS文件,则可能定义了星星的样式和动画效果;如果是JSON,可能存储了评分系统的初始配置或者示例数据。 要实现基于jQuery的动态星星...

    星星评分效果

    一些开发者会使用现成的JavaScript库来快速实现星星评分效果,如jQuery Star Rating Plugin。这类库通常提供了丰富的配置选项和回调函数,可以轻松定制评分样式、评分行为以及与其他页面元素的交互。使用这类库能...

    js特效星星打分效果适用于网站评论打分js星级评分效果

    本资源提供的是一个适用于网站评论打分的JS星级评分效果,它可以帮助用户直观地展示和选择评价等级,提升用户体验。下面我们将深入探讨这个JS特效的实现原理和关键知识点。 1. **HTML结构**: 在网页中,通常会...

    js评分效果 星级评分 js星级评分效果

    JavaScript(简称JS)星级评分效果是一种常见的用户交互设计,它允许用户通过选择星星数量来对某个项目进行评价,常用于电商、评论系统等场景。在本文中,我们将深入探讨如何实现这种js星级评分效果,以及涉及到的...

    jQuery 星星评分代码

    【jQuery星星评分代码】是一种常见的用户界面元素,用于让用户对某个内容或服务进行评价,通常以星形图标表示。在Web开发中,星星评分系统能够为网站增添互动性,提高用户体验,同时也便于收集用户反馈。这个特定的...

Global site tag (gtag.js) - Google Analytics