原生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 相关文章推荐
最简单的jQuery程序 入门者学习
Jul 09 Javascript
密码强度检测效果实现原理与代码
Jan 04 Javascript
Jquery解析json字符串及json数组的方法
May 29 Javascript
jQuery日程管理插件fullcalendar使用详解
Jan 07 Javascript
angularjs实现分页和搜索功能
Jan 03 Javascript
Vue项目中跨域问题解决方案
Jun 05 Javascript
解决bootstrap-select 动态加载数据不显示的问题
Aug 10 Javascript
Vue使用NProgress的操作过程解析
Oct 10 Javascript
vue遍历生成的输入框 绑定及修改值示例
Oct 30 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
Aug 12 Javascript
axios封装与传参示例详解
Oct 18 Javascript
javascript实现放大镜功能
Dec 09 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
html静态页面调用php文件的方法
2014/11/13 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
使用ltrace工具跟踪PHP库函数调用的方法
2016/04/25 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
自己的js工具_Form 封装
2009/08/21 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
Python WSGI的深入理解
2018/08/01 Python
pytorch permute维度转换方法
2018/12/14 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
tensorflow 实现自定义梯度反向传播代码
2020/02/10 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
大学生个人推荐信范文
2013/11/25 职场文书
给小学生的新年寄语
2014/04/04 职场文书
民主生活会意见
2015/06/05 职场文书
2015年卫生局工作总结
2015/07/24 职场文书