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压缩利器
Feb 20 Javascript
Jquery读取URL参数小例子
Aug 30 Javascript
JavaScript中双叹号!!作用示例介绍
Sep 21 Javascript
AngularJS基础 ng-switch 指令简单示例
Aug 03 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
JS实现异步上传压缩图片
Apr 22 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
Jun 04 Javascript
通过命令行创建vue项目的方法
Jul 20 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
Oct 29 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
vue动态禁用控件绑定disable的例子
Oct 28 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 图像尺寸调整代码
2010/05/26 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
jQuery实现用方向键控制层的上下左右移动
2013/01/13 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
AngularJS实现页面跳转后自动弹出对话框实例代码
2017/08/02 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
我所理解的JavaScript中的this指向
2020/09/04 Javascript
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
浅谈五大Python Web框架
2017/03/20 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
解决python报错MemoryError的问题
2018/06/26 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
Python转换时间的图文方法
2019/07/01 Python
python 实现二维列表转置
2019/12/02 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
python中return如何写
2020/06/18 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
单位消防安全制度
2014/01/12 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers