JS实现的透明度渐变动画效果示例


Posted in Javascript onApril 28, 2018

本文实例讲述了JS实现的透明度渐变动画效果。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
    <title>3water.com JS透明度变化效果</title>
    <style>
    body{
      margin: 0px;
      padding: 0px;
    }
    .redb{
      width:200px;
      height: 200px;
      background: red;
      filter:alpha(opacity=30);
      opacity: 0.3;
    }
    </style>
  </head>
  <body>
    <div class="redb" id="opbtn"></div>
    <script>
    window.onload = function(){
      var opDiv = document.getElementById("opbtn");
      opDiv.onmouseover = function(){
        startMove(100);
      }
      opDiv.onmouseout = function(){
        startMove(30);
      }
    }
    var timer = null;
    var alpha = 30;
    var speed = 0;
    function startMove(opTarget){
      clearInterval(timer);
      var opDiv = document.getElementById("opbtn");
      timer = setInterval(function(){
        if(alpha<opTarget){
          speed = 10;
        }
        else if(alpha>opTarget){
          speed = -10;
        }
        if(alpha==opTarget){
          clearInterval(timer);
        }
        else{
          alpha += speed;
          opDiv.style.opacity = alpha/100;
          opDiv.style.filter = 'alpha(opacity='+alpha+')';
        }
      },100);
    }
    </script>
  </body>
</html>

运行效果:

JS实现的透明度渐变动画效果示例

小结:

1、filter和opacity区别:w3c标准透明度就是opacity,filter只有IE才能用,其他浏览器都支持opacity
2、改变透明度时候,不能通过类似offsetLeft的方法获取透明度值,因此需要单独创建变量
3、不要忘记将定时器赋值给timer

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript四舍五入函数代码分享(保留后几位)
Dec 10 Javascript
jquery加载图片时以淡入方式显示的方法
Jan 14 Javascript
JS动态加载当前时间的方法
Feb 09 Javascript
JS仿淘宝实现的简单滑动门效果代码
Oct 14 Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 Javascript
canvas绘制一个常用的emoji表情
Mar 30 Javascript
vue.js指令和组件详细介绍及实例
Apr 06 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
Mar 07 Javascript
详解关于html,css,js三者的加载顺序问题
Apr 10 Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 Javascript
JS document内容及样式操作完整示例
Jan 14 Javascript
vue项目支付功能代码详解
Feb 18 Vue.js
JS实现的简单折叠展开动画效果示例
Apr 28 #Javascript
vue2.0+ 从插件开发到npm发布的示例代码
Apr 28 #Javascript
详解Angular5路由传值方式及其相关问题
Apr 28 #Javascript
详解Angular5 路由传参的3种方法
Apr 28 #Javascript
深入理解Vue nextTick 机制
Apr 28 #Javascript
jQuery实现的电子时钟效果完整示例
Apr 28 #jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 #jQuery
You might like
php结合飞信 免费天气预报短信
2009/05/07 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
2015/09/26 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
JavaScript函数的特性与应用实践深入详解
2018/12/30 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
tornado 多进程模式解析
2018/01/15 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
基于Python fminunc 的替代方法
2020/02/29 Python
用python给csv里的数据排序的具体代码
2020/07/17 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
医院总经理岗位职责
2014/02/04 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android