星级选择器 提交代码
星级选择器,提交代码适用于评论等
没有用到js库,就是单独的js代码
XML/HTML Code
- <form action="" method="get">
- <div id="star_level" star_width="14">
- <p>服务</p>
- <ul class="star_rating">
- <li style="display:none;">
- <input type="text" name="serve" value="" />
- </li>
- <li class="current_rating">default level</li>
- <li><a href="#" title="1 of 5 stars" class="one_star">1</a></li>
- <li><a href="#" title="2 of 5 stars" class="two_stars">2</a></li>
- <li><a href="#" title="3 of 5 stars" class="three_stars">3</a></li>
- <li><a href="#" title="4 of 5 stars" class="four_stars">4</a></li>
- <li><a href="#" title="5 of 5 stars" class="five_stars">5</a></li>
- </ul>
- <p>价格</p>
- <ul class="star_rating">
- <li style="display:none;">
- <input type="text" name="price" value="" title="这里设置为2的话,表示默认2颗星亮。" />
- </li>
- <li class="current_rating">default level</li>
- <li><a href="#" title="1 of 5 stars" class="one_star">1</a></li>
- <li><a href="#" title="2 of 5 stars" class="two_stars">2</a></li>
- <li><a href="#" title="3 of 5 stars" class="three_stars">3</a></li>
- <li><a href="#" title="4 of 5 stars" class="four_stars">4</a></li>
- <li><a href="#" title="5 of 5 stars" class="five_stars">5</a></li>
- </ul>
- <p>质量</p>
- <ul class="star_rating">
- <li style="display:none;">
- <input type="text" name="mass" value="" />
- </li>
- <li class="current_rating">default level</li>
- <li><a href="#" title="1 of 5 stars" class="one_star">1</a></li>
- <li><a href="#" title="2 of 5 stars" class="two_stars">2</a></li>
- <li><a href="#" title="3 of 5 stars" class="three_stars">3</a></li>
- <li><a href="#" title="4 of 5 stars" class="four_stars">4</a></li>
- <li><a href="#" title="5 of 5 stars" class="five_stars">5</a></li>
- </ul>
- </div>
- <input type="submit" value="提交后请看地址栏的参数" />
- </form>
XML/HTML Code
- <script type="text/javascript">
- <!--
- function __start(){
- var initialize_width=0;
- if(document.getElelmentById){return false};
- if(document.getElementsByTagName==null){return false;}
- var startLevelObj=document.getElementById("star_level")
- if(startLevelObj==null){return false;}
- initialize_width=parseInt(startLevelObj.getAttribute("star_width"),10);
- if(isNaN(initialize_width) || initialize_width==0){return false;}
- var ul_obj=startLevelObj.getElementsByTagName("ul");
- if(ul_obj.length<1){return false;}
- var length=ul_obj.length;
- var li_length=0;
- var a_length=0;
- var li_obj=null;
- var a_obj=null;
- var defaultInputObj=null;
- var defaultValue=null;
- for(var i=0;i<length;i++){
- li_obj=ul_obj[i].getElementsByTagName("li");
- li_length=li_obj.length;
- if(li_length<0){return false;}
- //获取默认值
- defaultInputObj=li_obj[0].getElementsByTagName("input");if(!defaultInputObj){return false;}
- defaultValue=parseInt(defaultInputObj[0].value,10);
- if(!isNaN(defaultValue) && defaultValue!=0){
- //alert("有初始值!");
- //li_obj[1].style.width=initialize_width*defaultValue+"px";
- //defaultValue=0;
- }
- for(var j=0;j<li_length;j++){
- a_obj=li_obj[j].getElementsByTagName("a");
- if(a_obj.length<1){continue;}
- if(a_obj[0].className.indexOf("star")>0){
- a_obj[0].onclick=function(){
- return give_value(this);
- }
- a_obj[0].onfocus=function(){
- this.blur();
- }
- }
- }
- }
- }
- function give_value(obj){
- var status=true;
- var parent_obj=obj.parentNode;
- var i=0;
- while(status){
- i++;
- if(parent_obj.nodeName=="UL"){break;}
- parent_objparent_obj=parent_obj.parentNode;
- if(i>1000){break;}//防止找不到ul发生死循环
- }
- var hidden_input=parent_obj.getElementsByTagName("input")[0];
- if(hidden_input.length<1){/*alert("sorry?\nprogram error!")*/;}
- var txt=obj.firstChild.nodeValue;//确保不能存在空格哦,因为这里用的firstChild
- if(isNaN(parseInt(txt,10))){/*alert('level error!')*/;return false;}
- hidden_input.setAttribute("value",txt.toString());
- //固定选中状态,先找到初始化颜色那个li
- var current_li=parent_obj.getElementsByTagName("li");
- var length=current_li.length;
- var ok_li_obj=null;
- for(var i=0;i<length;i++){
- if(current_li[i].className.indexOf("current_rating")>=0){
- ok_li_obj=current_li[i];break;//找到
- }
- }
- __current_width=txt*14;
- ok_li_obj.style.width=__current_width+"px";
- return false;
- }
- __start();
- //-->
- </script>
CSS Code
- body{font-size:12px;}
- ul{padding:0;margin:0;}
- /*star.css*/
- .star_rating {list-style:none;margin:-1px 0 0 -1px; padding:0; width:70px; height:12px; position:relative; background:url(rating_stars.gif) 0 0 repeat-x; overflow:hidden;font-size:0;}
- .star_rating li{padding:0;margin:0;float:left;}
- .star_rating li a{display:block;width:14px;height:12px;text-decoration:none;text-indent:-9000px;z-index:20;position:absolute;padding:0;margin:0;}
- .star_rating li a:hover{background:url(rating_stars.gif) 0 12px;z-index:2;left:0;}
- .star_rating a.one_star{left:0;}
- .star_rating a.one_star:hover{width:14px;}
- .star_rating a.two_stars{left:14px;}
- .star_rating a.two_stars:hover{width:28px;}
- .star_rating a.three_stars{left:28px;}
- .star_rating a.three_stars:hover{width:42px;}
- .star_rating a.four_stars{left:42px;}
- .star_rating a.four_stars:hover{width:56px;}
- .star_rating a.five_stars{left:56px;}
- .star_rating a.five_stars:hover{width:70px;}
- .star_rating li.current_rating{background:url(rating_stars.gif) 0 24px;position:absolute;height:12px;display:block;text-indent:-9000px;z-index:1;left:0;}
- /*end star.css*/
- #star_level{margin:0 0 20px 20px;}
- #star_level p{margin:20px 0 5px 0;}
相关推荐
在本节内容中,我们将介绍如何用JavaScript实现一个简单的星级选择器,并将选择的星级结果作为提交参数。 星级选择器是一种常见的网页元素,用于收集用户对某个产品或服务的满意程度的评价。通常这种选择器以星形...
2. **UIKit框架**:iOS应用的用户界面大部分是基于UIKit构建的,评分组件的视图、控件(如星级选择器)和事件处理(如点击事件)都离不开UIKit。 3. **Auto Layout**:用于在不同尺寸的屏幕上自动调整界面布局,...
在实际项目中,开发者需要将这些文件引入到HTML页面中,通过适当的jQuery选择器和方法调用插件,实现星级评分功能。例如,可以这样初始化插件: ```html <script src="jquery.js"></script> <!-- 引入jQuery --> ...
对于按钮高亮,一般情况下,一旦用户选择了星级,按钮就不再保持高亮,可以通过设置button.isSelected = false来实现。 四、事件处理 当用户选择一个新星级时,除了更新界面,还可能需要执行其他操作,如触发评分的...
星级评分通常由一系列半透明或者全填充的星形图标组成,用户可以通过点击或滑动来选择他们想要给出的分数。自定义星级评分样式涉及到以下几个关键知识点: 1. **前端技术**:星级评分的实现通常依赖于前端技术,如...
3. **初始化插件**:在文档加载完成后,使用jQuery的选择器找到你要应用评分插件的元素,然后调用插件方法进行初始化,设置所需的参数和选项。 4. **自定义配置**:根据需要调整插件的配置,如星星的数量、默认评分...
1. **多态性**:jQuery星级评价插件提供多种预设样式,开发者可以根据项目需求选择或自定义样式,以保持与网站整体设计的一致性。 2. **动态交互**:用户在选择星星时,插件会实时显示当前的选中状态,提供良好的...
10. **选择器优先级**:理解CSS选择器的优先级对于确保星级图标在特定情况下应用正确的样式至关重要。ID选择器、类选择器、属性选择器和标签选择器的优先级各不相同。 通过以上这些技术和概念,你可以创建出一套...
总结来说,纯CSS实现的星级评分系统是一种巧妙地利用CSS选择器和伪类来创建交互功能的方法。这种方法不仅适用于初学者学习CSS,也适用于优化网页性能,减少对JavaScript的依赖。通过实践和理解这样的项目,开发者...
4. **jQuery选择器和方法**:利用jQuery的强大选择器选取元素,并调用`.html()`、`.css()`、`.addClass()`、`.removeClass()`等方法更新元素状态。 5. **数据存储与交互**:评分数据可能存储在DOM元素的属性中,...
在实现星级评分效果时,我们将主要利用jQuery提供的选择器、事件监听和DOM操作功能。 ### 2. HTML结构 创建星级评分的基本HTML结构,通常包括一组`<span>`或`<i>`元素,代表每颗星。每个元素都应具有独特的ID或...
7. **测试与调试**:在不同设备和iOS版本上进行测试,确保星级选择功能的稳定性和一致性。 8. **国际化**:考虑到全球用户,星级评价系统应支持多语言,包括对半星的描述。 9. **用户反馈**:在评级视图中添加用户...
4. 测试与调试:运行项目,通过模拟器或真实设备测试星级评分组件的功能,确保评分选择、显示和交互无误。 四、扩展功能 1. 动态评分:允许用户实时调整评分,如长按增加评分,短按减少评分。 2. 平均评分显示:...
1. 显示星级:前端界面会展示星星图标,用户可以点击选择不同的评分等级。 2. 用户交互:允许用户进行评分操作,同时提供评分反馈,如实时显示平均分。 3. 数据存储:后台处理用户提交的评分,将其存储在数据库中。 ...
在实际应用中,开发者需要将这些文件引入到项目中,通过jQuery的选择器找到要添加评分功能的元素,然后调用`$.fn.rater`方法进行初始化。插件通常允许自定义参数,如默认评分、允许半星、是否可编辑等,以满足不同...
3. **jQuery绑定事件**:使用jQuery的选择器和事件处理函数,如`$('selector').on('click', function() {...})`,监听用户的点击事件。当用户点击星星时,对应的评分会被记录。 4. **更新显示**:在用户选择星级后...
在“超靓的jQuery星级评测”中,利用jQuery的强大功能,实现了动态的星级选择和反馈展示。 二、jQuery 1.4.2 这个组件基于jQuery 1.4.2,这是一个早期但稳定版本的jQuery库。尽管现在有更新的版本,1.4.2仍然能...
1. **选择器**:jQuery提供了丰富的选择器,如ID选择器(#id)、类选择器(.class)、元素选择器(element)等,用于快速定位到页面中的特定元素,进而实现星级评价元素的选中和操作。 2. **DOM操作**:jQuery允许开发者...
通过使用`:hover`和`.active`等伪类选择器,可以实现鼠标悬停和选定状态的样式变化。 接下来,jQuery代码负责处理用户交互。当用户鼠标悬停在某颗星上时,会更新对应的评分并改变所有之前星星的状态。这通常通过`$...
2. **jQuery选择器和事件绑定**:使用jQuery选择器选取所有星级按钮,并为它们绑定`click`事件处理器。当用户点击星星时,获取所选星星的值,并准备发送到服务器。 ```javascript $("input[type='radio']").on(...