原生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 选择器使用说明介绍
Apr 18 Javascript
jQuery图片轮播的具体实现
Sep 11 Javascript
js模仿java的Map集合详解
Jan 06 Javascript
javascript事件绑定学习要点
Mar 09 Javascript
jQuery表单验证插件解析(推荐)
Jul 21 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
Aug 29 Javascript
简单理解js的冒泡排序
Dec 19 Javascript
Bootstrap表单控件学习使用
Mar 07 Javascript
JavaScript队列函数和异步执行详解
Jun 19 Javascript
JavaScript异步上传图片文件的实例代码
Jul 04 Javascript
ReactNative Image组件使用详解
Aug 07 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
May 10 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
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
js获取height和width的方法说明
2013/01/06 Javascript
js从Cookies里面取值的简单实现
2014/06/30 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
python 以16进制打印输出的方法
2018/07/09 Python
Python定时任务sched模块用法示例
2018/07/16 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
广州品高软件.net笔面试题目
2012/04/18 面试题
英语自荐信范文
2013/12/11 职场文书
报社实习生自荐信
2014/01/24 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
财务会计岗位职责
2015/02/03 职场文书
2015年化验室工作总结
2015/04/23 职场文书
会计做账心得体会
2016/01/22 职场文书
nginx部署多前端项目的几种方法
2021/05/25 Servers
速龙x4-860k处理器相当于i几
2022/04/20 数码科技