原生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实现表格动态分页实现代码
Jun 21 Javascript
jquery中的查找parents与closest方法之间的区别
Dec 02 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
May 22 Javascript
javascript执行环境及作用域详解
May 05 Javascript
类似于QQ的右滑删除效果的实现方法
Oct 16 Javascript
jquery 判断div show的状态实例
Dec 03 Javascript
JavaScript之Date_动力节点Java学院整理
Jun 28 Javascript
浅谈angular4 ng-content 中隐藏的内容
Aug 18 Javascript
vue实现验证码按钮倒计时功能
Apr 10 Javascript
node中IO以及定时器优先级详解
May 10 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
Sep 10 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
Nov 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
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
浅谈javascript中this在事件中的应用
2015/02/15 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python列表操作使用示例分享
2014/02/21 Python
Python简单生成8位随机密码的方法
2017/05/24 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
Ajax的工作原理
2015/12/04 面试题
大学生自我鉴定
2013/12/16 职场文书
菜篮子工程实施方案
2014/03/08 职场文书
小学生综合素质评语
2014/04/23 职场文书
企业精神口号
2014/06/11 职场文书
医院合作意向书范本
2015/05/08 职场文书
疾病证明书
2015/06/19 职场文书
Python实现天气查询软件
2021/06/07 Python
python创建字典及相关管理操作
2022/04/13 Python