<script type="text/javascript">
             //★
             var spans=document.getElementsByTagName("span");
             var flag=5;//这个值随便取,只要不是01234就行
             var Expand=function(){
                 //扩展代码,暂无
             };

             onload=function(){
                 //循环载入鼠标移入事件
                 for(var i=0;i<spans.length;i++){
                     spans[i].onmouseover=function(){
                         var id=parseInt(this.id);
                             for(var i=0;i<=id;i++){
                                 spans[i].innerHTML="★";
                             }
                             for(var j=id+1;j<5;j++){
                                 spans[j].innerHTML="☆";
                             }
                     };
                 }
                 //循环载入鼠标点击星星事件
                 for(var i=0;i<spans.length;i++){
                     spans[i].onclick=function(){
                         var id=parseInt(this.id);
                         flag=id;
                         for(var i=0;i<=id;i++){
                             spans[i].innerHTML="★";
                         }
                         Expand();//这里是鼠标点击星星的扩展,例如出现分值之类的,总之要扩展什么随你的大小便啦~
                     };
                 }
                 //载入鼠标离开div事件
                 document.getElementById("div").onmouseout=function(){
                     //如果tag是3,则循环给把0 1 2 3几个星星整黄
                     if(flag>=0 && flag<=4){
                         for(var i=0;i<=flag;i++){
                             spans[i].innerHTML="★";

                         }
                         for(var j=flag+1;j<5;j++){
                             spans[j].innerHTML="☆";
                         }
                     }
                     //如果tag没有值或者是初值5,则把所有的星星还原成空星星
                     else{
                         for(var i=0;i<spans.length;i++)
                         {
                             spans[i].innerHTML="☆";
                         }
                     }
                 };
             };

         </script>
     </head>

     <body>
         <div id="div">
             <span id="0">☆</span><span id="1">☆</span><span id="2">☆</span><span id="3">☆</span><span id="4">☆</span>
         </div>
     </body>  我是新手,优化还不够,欢迎指正

javascript代码实现简单的五星评价功能!的更多相关文章

  1. jquery代码实现简单的五星评价功能!

    实现: 1,鼠标移动到第三个星星,则一二三星星变亮,后两个变暗 2,鼠标点击某个星星后,可以继续选择,但拿开后星星会定格住你点击的位置 <script type="text/javas ...

  2. 五十行javascript代码实现简单的双向数据绑定

    五十行javascript代码实现简单的双向数据绑定 Vue框架想必从事前端开发的同学都使用过,它的双向数据绑定机制能给我们带来很大的方便.今天闲着没事,尝试着实现一下双向数据绑定,接下来给大家分享一 ...

  3. JavaScript实现一个简单的密码输入功能

    常见的密码输入框当输入字符后会被替换成‘*’,而且旁边会有个小眼睛可以查看原本的字符,虽然input标签有这个功能,但这只是自己正在看正则表达式的时候突然想到的,就当做个练习,自己手动实现下: < ...

  4. 林大妈的JavaScript基础知识(二):编写JavaScript代码前的一些简单工作

    在介绍JavaScript语法前,我们需要知道,学习语法必须要多利用手敲代码来巩固记忆.因此,由于JavaScript的特性,它不能像C++和Java一样独立地编译及运行,我们需要在调试运行JavaS ...

  5. 通过javascript库JQuery实现页面跳转功能代码

    通过javascript库JQuery实现页面跳转功能代码的四段代码实例如下. 实例1: 1 2 3 4 $(function(){ var pn = $("#gotopagenum&quo ...

  6. 简单的页面互点Javascript代码

    简单的页面互点Javascript代码,可以适用于前端$(function(){ $('.ip_b_con_item li,.pro_index_list li').mouseover(functio ...

  7. 从零开始实现基于微信JS-SDK的录音与语音评价功能

    最近接受了一个新的需求,希望制作一个基于微信的英语语音评价页面.即点击录音按钮,用户录音说出预设的英文,根据用户的发音给出对应的评价.以下是简单的Demo: ![](reecode/qrcode.pn ...

  8. javascript代码 调试方法

    你的代码可能包含语法错误,逻辑错误,如果没有调试工具,这些错误比较难于发现. 通常,如果 JavaScript 出现错误,是不会有提示信息,这样你就无法找到代码错误的位置. 在程序代码中寻找错误叫做代 ...

  9. 7个高性能JavaScript代码高亮插件

    本文由码农网 – 小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉.一款优秀的JavaScript代码高亮插件,将会帮助你渲染 ...

随机推荐

  1. 在地图中使用Java

    Map以按键/数值对的形式存储数据,和数组很类似,在数组中存在的索引,它们本身也是对象.       Map的接口       Map---实现Map       Map.Entry--Map的内部类 ...

  2. canvas绘制自定义的曲线,以椭圆为例,通俗易懂,童叟无欺

    本篇文章,将讲述如何通过自定义的曲线函数,使用canvas的方式进行曲线的绘制. 为了通俗易懂,将以大家熟悉的椭圆曲线为例,进行椭圆的绘制.至于其他比较复杂的曲线,用户只需通过数学方式建立起曲线函数, ...

  3. 调查问卷Html5发展综述

    [Html5可以离线操作.是否能开发Html5离线网络应用程序] 按常理Html5开发出来的是Web网页应用.则需网络连接才干下载并使用,作为Html5对离线应用开发的支持最大的特殊,支持离线须要满足 ...

  4. VBOX安装Centos设置分辨率为1366x768[已解决]

    最近想了解下GTK+,但是对于直接在系统上搭建环境有点心里阴影,怕又把桌面玩挂,所以打算在虚拟机中先试试 本来打算使用Fedora的,怕gnome太吃资源所以下了个xfce的,不过貌似有BUG,无法安 ...

  5. 智能的API、云服务和SOA测试解决方案——Parasoft SOAtest

    依赖Parasoft测试解决方案的机构,不仅有小企业,政府机构,还有世界500强集团.Parasoft公司推出的Parasoft SOAtest,提供了API.云服务和SOA最全面的测试解决方案.此次 ...

  6. C# File类的操作

    原文:C# File类的操作 File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件.File类方法的参 ...

  7. WebIM(3)----性能测试

    WebIM系列文章 在一步一步打造WebIM(1)和(2)中,已经讨论了如何开发一个WebIM,并且使用缓存来提高WebIM的性能,本文将编写一个程序模拟大量用户登录来对WebIM进行性能测试. 1. ...

  8. 读书笔记—CLR via C#反射

    前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可 ...

  9. apache 提示You don't have permission to access /test.php on this server.怎样解决

    把denty改成allow httpd.conf文件中. <Directory "cgi-bin"> AllowOverride None Options None O ...

  10. Strongly connected(hdu4635(强连通分量))

    /* http://acm.hdu.edu.cn/showproblem.php?pid=4635 Strongly connected Time Limit: 2000/1000 MS (Java/ ...