JS运动改变单物体透明度的方法分析


Posted in Javascript onJanuary 23, 2018

本文实例讲述了JS运动改变单物体透明度的方法。分享给大家供大家参考,具体如下:

除了通过改变物体的 宽,高,letf,top位置或者是运动方向来实现物体运动效果之外,改变物体的透明度,也是运动特效

<script>
  window.onload = function () {
    var oDiv = document.getElementById('div1');
    oDiv.onmousemove = function () {
      startMove(100);
    }
    oDiv.onmouseout = function () {
      startMove(30);
    }
}
var timer = null;
function startMove(iTarget) {
    clearInterval(timer);
    var oDiv = document.getElementById('div1');
    timer = setInterval(function(){
      if(oDiv.offsetAlpha == iTarget){
        ....
      }
    },30);
}
</script>

但是在js中只有offsetLeft/Top ,offsetWidth/Height,这四个方法,并没有offsetAlpha这个方法。

问:那么我们怎么来 获取当前物体的透明度那??

我们可以自己定义一个变量 var alpha  = 30;通过判断这个变量 是否和目标值是否相等,来继续我们下一步的操作;

var alpha = 30; // 自定义一个变量

当alpha 等目标值得时候,清楚定时器,否则就改变透明度的值alpha

if(alpha == iTarget){
   clearInterval(timer);
}else{
   alpha += iSpeed;
   oDiv.style.opacity = alpha/100;
   oDiv.style.filter = 'alpha(opacity:'+alpha+')';
}

完整的代码如下:

<div id="div1"></div>

css样式部分:

<style>
    #div1{
      width: 100px;height: 100px;
      background: green;
      opacity:0.3;
      filter:alpha(opacity:30);/*兼容低版本IE*/
    }
</style>

js部分:

<script>
  window.onload = function () {
    var oDiv = document.getElementById('div1');
    oDiv.onmousemove = function () {
      startMove(100);
    }
    oDiv.onmouseout = function () {
      startMove(30);
    }
  }
  var timer = null;
  var alpha = 30;
  function startMove(iTarget) {
    clearInterval(timer);
    var oDiv = document.getElementById('div1');
    var iSpeed = 0;
    timer = setInterval(function(){
      if(alpha>iTarget){
        iSpeed = -10;
      }else{
        iSpeed = 10;
      }
      if(alpha == iTarget){
        clearInterval(timer);
      }else{
        alpha += iSpeed;
        oDiv.style.opacity = alpha/100;
        oDiv.style.filter = 'alpha(opacity:'+alpha+')';
      }
    },30);
  }
</script>

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

Javascript 相关文章推荐
js表格分页实现代码
Sep 18 Javascript
Javascript学习笔记二 之 变量
Dec 15 Javascript
javascript学习笔记(十三) js闭包介绍(转)
Jun 20 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
Jun 20 Javascript
jquery实现图片灯箱明暗的遮罩效果
Nov 15 Javascript
jquery删除提示框弹出是否删除对话框
Jan 07 Javascript
jquery 页面滚动到底部自动加载插件集合
Jan 31 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
详解数组Array.sort()排序的方法
May 09 Javascript
node基于puppeteer模拟登录抓取页面的实现
May 09 Javascript
vue3.0 搭建项目总结(详细步骤)
May 20 Javascript
JavaScript实现简单随机点名器
Nov 21 Javascript
JS实现基于拖拽改变物体大小的方法
Jan 23 #Javascript
基于vue cli重构多页面脚手架过程详解
Jan 23 #Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 #Javascript
实时监控input框,实现输入框与下拉框联动的实例
Jan 23 #Javascript
从parcel.js打包出错到选择nvm的全部过程
Jan 23 #Javascript
浅谈vue项目重构技术要点和总结
Jan 23 #Javascript
bootstrap fileinput插件实现预览上传照片功能
Jan 23 #Javascript
You might like
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
在页面上点击任一链接时触发一个事件的代码
2007/04/07 Javascript
prettify 代码高亮着色器google出品
2010/12/28 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
python生成指定尺寸缩略图的示例
2014/05/07 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
pycharm运行scrapy过程图解
2019/11/22 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
公司出纳岗位职责
2013/12/07 职场文书
国税会议欢迎词
2014/01/16 职场文书
浪费资源的建议书
2014/03/12 职场文书
星级党支部申报材料
2014/05/31 职场文书
公安学专业求职信
2014/07/27 职场文书
关于随地扔垃圾的检讨书
2014/09/30 职场文书
超市食品安全承诺书
2015/04/29 职场文书
php 原生分页
2021/04/01 PHP
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript