zoukankan      html  css  js  c++  java
  • Javascript实现边框闪动

      最近新做的一项目中有一块内容为充值部分,产品经理觉得在用户余额不足的时候,除了禁止用户选择和输入的按钮外,应该让用户的视线集中到提示内容上,这样就能根据提示的内容快速进行充值操作。于是几个研究来研究去,最终决定让提示框的边框闪烁来达到提醒目的。

           由于项目需要兼容ie6,所以js成为了首选。考虑到js为单线程执行语言,于是递归超时调用方法为首选。

      首先需要一个ID=blink的div,然后是两个不同颜色边框的类,分别命名为border1和border2。css代码如下:

    1 #blink { width:300px; height:36px; background-color:#ccc;}
    2 .border1 { border:5px solid #000;}
    3 .border2 { border:5px solid #cc0000;}

      然后就是js代码部分:

    (function(){
            var div=$("#blink");
            var borderFlag=false;
            var time;
            setTimeout(blinkBorder,2000);
            function blinkBorder()
            {
                time=0;
                for(var i=0;i<6;i++)
                {
                    time+=100;
                    setTimeout(function()
                    {
                        modifyBorder();                
                    },time);    
                }
                setTimeout(blinkBorder,2000);
            }
            function modifyBorder()
            {
                borderFlag=!borderFlag;
                if(borderFlag)
                {
                    div.removeClass("border1").addClass("border2");    
                }
                else
                {
                    div.removeClass("border2").addClass("border1");
                }
            }
    })()

      整段js代码是放在了一个立即执行函数中,通过设置边框变换标示符和初始时间值,使用超时调用函数通过递归方法来实现边框的闪动效果。其中的间歇调用时间设为为2秒,for循环的次数代表了边框在2秒钟的时间内闪动的次数。代码非常简单,如果需要测试,别忘了引入Jquery库。

  • 相关阅读:
    HDOj-1412
    HDOJ-2153
    HDOJ-1002
    紫书 例题 11-5 UVa 10048 (Floyd求最大权值最小的路径)
    紫书 例题11-4 UVa247 (Floyd判断联通)
    最短路模板
    紫书 例题 11-3 UVa 1151 (有边集的最小生成树+二进制枚举子集)
    紫书 例题 11-2 UVa 1395(最大边减最小边最小的生成树)
    紫书 例题 11-1 UVa 12219 (表达式树)
    紫书 习题 8-25 UVa 11175 (结论证明)(配图)
  • 原文地址:https://www.cnblogs.com/Arvin-wjw/p/3926361.html
Copyright © 2011-2022 走看看