逐个后移,匹配符合要求的选项,ie7有bug

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>验证</title>
<style>
#wrap{ width:215px; height:200px; border:1px solid #ddd; margin-top:10px; overflow:auto; position:relative;}
#wrap ul{ padding:0; margin:0;}
#wrap ul li{ width:50px; margin:5px 2px 5px 11px; height:30px; background:#CFC; float:left; font-size:13px; list-style:none; line-height:30px; text-align:center;}

#wrap ul li.yes1{ background:#40F0ED;}
#wrap ul li.yes2{ background:#5F3FEF;}
#wrap ul li.yes3{ background:#EF3FD7;}
#wrap ul li.yes4{ background:#5F3FEF;}
#wrap ul li.yes5{ background:#f00;}
#wrap ul li.no{ background:#F39;}
#tipInfor{ position:absolute; left:0; top:0; overflow:hidden; height:0; z-index:10; width:100%; background:#f1f1f1; color:#333; font-size:13px; font-weight:bold; line-height:24px;}
</style>
</head>
<body>
<div>
  <input type="text" />
  <button>开始</button>
</div>
<div id="wrap">
<div id="tipInfor">亲爱的校友,你填入的名称与学校档案库的姓名,匹配不成功,请您继续报到,我们会进行后台审核并及时更新</div>
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
    <li>11</li>
    <li>12</li>
    <li>王志伟</li>
    <li>14</li>
    <li>15</li>
    <li>16</li>
    <li>17</li>
    <li>18</li>
    <li>19</li>
    <li>20</li>
    <li>21</li>
    <li>22</li>
    <li>23</li>
    <li>24</li>
  </ul>
</div>
</body>
</html>
<script type="text/javascript">
var obj=document.getElementById("wrap");
var btn=document.getElementsByTagName("button")[0];
var aLi=document.getElementsByTagName("li");
var a=document.getElementById("tipInfor");
btn.onclick=function(){
    init();
    obj.style.overflow="auto";
    var txt=document.getElementsByTagName("input")[0].value;
    var i=0;
    btn.timer=setInterval(function(){
        if(i==aLi.length){
            clearInterval(btn.timer)
            obj.style.overflow="hidden";
            a.style.height="100%";
            obj.scrollTop=0;
            return;
        }
        console.log(aLi[i].innerHTML+"~~~~"+txt)
        if(aLi[i].innerHTML!=txt){
            obj.scrollTop=aLi[i].offsetTop*0.7;
            aLi[i].className="no";
        }else{
            blinkBg(aLi[i]);
            clearInterval(btn.timer);
        }
        i++;
    },100)

}
function init(){
    for(var i=0;i<aLi.length;i++){
        aLi[i].className="";
    }
    a.style.height=0;
}
function blinkBg(obj){
    var bgArr=["yes1","yes2","yes3","yes4","yes5"]
    var i=0;
    obj.timer=setInterval(function(){
        if(i==bgArr.length-1){
            clearInterval(obj.timer);
        }
        obj.className=bgArr[i];
        i++;

    },

    150)

}
</script>
时间: 2024-08-03 03:34:32

逐个后移,匹配符合要求的选项,ie7有bug的相关文章

正则进阶之,回溯, (贪婪* 非贪婪+? 独占++)三种匹配量词

正则的回溯 在正则表达式实现中,回溯是匹配过程的基本组成部分,它是正则表达式如此好用和强大的根源.然而,回溯计算代价很高,如果设计失误,将导致失控.回溯是影响整体性能的唯一因素,理解它的工作原理,以及如何减小使用频率,可能是编写高效正则表达式的关键点. 当一个正则表达式扫描目标字符串时,从左到右逐个扫描正则表达式的组成部分,在每个位置上测试能不能找到一个匹配.对于每一个量词和分支,都必须确定如何继续进行.如果是量词(如*+?或者{2,}),那么正则表达式必须确定何时尝试匹配更多的字符:如果遇到分

nginx location匹配规则

location匹配命令 ~ #波浪线表示执行一个正则匹配,区分大小写 ~* #表示执行一个正则匹配,不区分大小写 ^~ #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录 = #进行普通字符精确匹配 @ #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files location = / { # 只匹配"/". [ configuration A ] } location /

perl学习之:肯定匹配和否定匹配

tr/ / / 替换操作符不支持正则表达式 也不具备双引号替换能力m/ /  s/ / / 都支持正则表达式,并且可以提供或限制双引号替换能力 $string = "25abc8";$string =~ /abc(?=[0-9])/;(?=pattern) 前看声明,如果正则表达式在下一次匹配 pattern 风格,就开始匹配,而且不影响匹配效果.如/\w+(?=\t)/将匹配制表符是否恰好在一个字\w+后面出现,并且制表符不添加到$&的值中:$matched = $&

【转】nginx location匹配规则

转载请保留:http://www.nginx.cn/115.html location匹配命令 ~      #波浪线表示执行一个正则匹配,区分大小写~*    #表示执行一个正则匹配,不区分大小写^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录=      #进行普通字符精确匹配@     #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files location 匹配的优先级(与

正则表达式匹配解析过程探讨分析(正则表达式匹配原理)

已经有多篇关于正则表达式介绍的文章,随着我们越来越多使用正则表达式,想对性能做优化.减少我们正则表达式书写匹配Bug.我们不得不进一步深入了解正则表达式执行过程了.下面我们一起学习,分析下正则表达式执行过程.我们会用regexbuddy测试工具分解执行过程,具体工具使用,可以看:正则表达式性能测试工具推荐.优化工具推荐(regexbuddy推荐).要了解正则表达式解析过程前,我们先来熟悉几个概念. 常见正则表达式引擎 引擎决定了正则表达式匹配方法及内部搜索过程,了解它至关重要的.目前主要流行引擎

day6 反射,hashlib模块,正则匹配,冒泡,选择,插入排序

一.反射(自省) 首先通过一个例子来看一下本文中可能用到的对象和相关概念. import sys # 模块,sys指向这个模块对象import inspectdef foo(): pass # 函数,foo指向这个函数对象 class Cat(object): # 类,Cat指向这个类对象 def __init__(self, name='kitty'): self.name = name def sayHi(self): # 实例方法,sayHi指向这个方法对象,使用类或实例.sayHi访问

深入分析Intent匹配查询

尊重原创:http://blog.csdn.net/yuanzeyao/article/details/42243583 在前面的一篇文章中,我们详细分析了PackageManagerService的启动过程(在后面的文章中,为了方便,我会将PackageManagerService简称PMS),PMS在启动的过程中,会去扫描系统app和用户安装的app,然后将这些app的信息保存到一些数据结构中,在这篇文章中,我们会接着前面一篇文章继续分析Intent匹配查询过程,如果对PMS不是很熟悉的同学

20. Valid Parentheses - 括号匹配验证

Description: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. Example: The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]&quo

正则表达式匹配回溯

正则表达式匹配回溯:一.基本概念:NFA引擎的正则表达式会依次处理各个子表达式或者组成元素,遇到需要在两个都可能进行成功匹配的子表达式或者组成元素之间进行选择的时候,会首先选择其一,同时会记录另一个的状态,以备后面使用.注意:这里所说的子表达式并非只有用小括号括起来的表达式,而是正则表达式中的任意匹配单元.二.需要回溯的情况:无论是哪一种选择,如果本身匹配成功,而且正则表达式余下的部分也能够成功匹配的话,那么整个匹配就成功了,如果正则表达式当前选择或者后面的部分无法匹配成功,那么正则表达式引擎会