原生js实现类似弹窗抖动效果


Posted in Javascript onApril 02, 2015

先在之前做的抖动窗口上做了点动作 无限变色

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    div{text-align: center;line-height: 150px;font-weight: bold;}
    #dv{width: 300px;height: 150px;position: absolute;left: 200px;top: 100px;background: red;}
    #dv2{width: 300px;height: 150px;position: absolute;left: 600px;top: 100px;background: yellow;}
  </style>
  <script>
      window.onload=function(){
        // 得到0--255的随机数
        function getRandNumber(rmin,rmax){
          var cha = rmax-rmin;
          var rand = Math.random();
          return rmin+Math.round(cha*rand)
        }
        var oDv = document.getElementById('dv')
        var oDv2 = document.getElementById('dv2')
        //抖动需要获取的值一个数组
        var arr=[];
         
        // 随机变色
        setInterval(function(){
          var arr2 = [
            getRandNumber(0,255),
            getRandNumber(0,255),
            getRandNumber(0,255)
            ];
 
          oDv.style.backgroundColor="rgb("+arr2[0]+","+arr2[1]+","+arr2[2]+")"
        },130) 
        // 抖动获取值放到数组中
          for(var i=20;i>0;i-=2){
            arr.push(i,-i)
          }
        // 第一个盒子抖动
        oDv.onclick=function(){
          sb(oDv,'left',function(){
            sb(oDv,'top')
          })
           
        }
        // 第二个盒子抖动
        oDv2.onclick=function(){
          sb(oDv2,'left',function(){
            sb(oDv2,'top')
          })
           
        }
        // 抖动
        function sb(obj,attr,fnEnd){
          var timer=null;
          var num=0;
     
          clearInterval(timer)
          timer=setInterval(function(){
          obj.style[attr]=parseInt(getStyle(obj,attr))+arr[num]+'px'
          num++;
          if(num===arr.length){
            clearInterval(timer)
            fnEnd&&fnEnd()
            obj.innerHTML='我是'+getStyle(obj,'backgroundColor')+'色'
            //alert(1)
          }
             
          },50)
 
        }
     
        function getStyle(obj,attr){
          return obj.currentStyle?obj.currentStyle[attr]:getComputedStyle(obj)[attr]
        }
      };
  </script>
</head>
<body>
  <div id="dv">点我呀</div>
  <div id="dv2">点我呀</div>
</body>
</html>

演示图:

原生js实现类似弹窗抖动效果

原生js实现类似弹窗抖动效果

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
Jan 29 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
Aug 16 Javascript
在父页面调用子页面的JS方法
Sep 29 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
Feb 17 Javascript
jquery根据属性和index来查找属性值并操作
Jul 25 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
BootStrap创建响应式导航条实例代码
May 31 Javascript
javascript设计模式Constructor(构造器)模式
Aug 19 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
Aug 03 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
Jan 18 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 Javascript
微信小程序制作扭蛋机代码实例
Sep 24 Javascript
JavaScript显示表单内元素数量的方法
Apr 02 #Javascript
原创jQuery弹出层插件分享
Apr 02 #Javascript
JavaScript获取网页表单提交方式的方法
Apr 02 #Javascript
Javascript获取表单名称(name)的方法
Apr 02 #Javascript
如何改进javascript代码的性能
Apr 02 #Javascript
JavaScript获得表单target属性的方法
Apr 02 #Javascript
AngularJS快速入门
Apr 02 #Javascript
You might like
无线电广播的开始
2002/01/30 无线电
destoon复制新模块的方法
2014/06/21 PHP
jQuery源码分析-01总体架构分析
2011/11/14 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
Javascript浅谈之this
2013/12/17 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
2020/04/22 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
django 修改server端口号的方法
2018/05/14 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
python+logging+yaml实现日志分割
2019/07/22 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
500行python代码实现飞机大战
2020/04/24 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
塔吉特百货公司官网:Target
2017/04/27 全球购物
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
匈牙利墨盒和碳粉购买网站:CDRmarket
2018/04/14 全球购物
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
会话Bean的种类
2013/11/07 面试题
what is the difference between ext2 and ext3
2015/08/25 面试题
大学生职业生涯规划方案
2014/01/03 职场文书
回门宴父母答谢词
2014/01/26 职场文书
优秀教师申报材料
2014/12/16 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
班主任寄语2016
2015/12/04 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技