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 相关文章推荐
Extjs学习笔记之三 extjs form更多的表单项
Jan 07 Javascript
JS 有名函数表达式全面解析
Mar 19 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
Oct 26 Javascript
jQuery插件jPaginate实现无刷新分页
May 04 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
Apr 29 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
Dec 26 Javascript
微信小程序 Template详解及简单实例
Jan 05 Javascript
Angular2生命周期钩子函数的详细介绍
Jul 10 Javascript
p5.js入门教程之图片加载
Mar 20 Javascript
JS实现获取word文档内容并输出显示到html页面示例
Jun 23 Javascript
Vue-Router的使用方法
Sep 05 Javascript
JavaScript基础之this和箭头函数详析
Sep 05 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的博客ping服务代码
2012/02/04 PHP
php中header设置常见文件类型的content-type
2015/06/23 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python性能优化的20条建议
2014/10/25 Python
python登陆asp网站页面的实现代码
2015/01/14 Python
详解Python中for循环的使用
2015/04/14 Python
Python模拟登陆实现代码
2017/06/14 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
python利用opencv保存、播放视频
2020/11/02 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
大专生的学习自我评价
2013/12/04 职场文书
初中生物教学反思
2014/01/10 职场文书
工程安全员岗位职责
2014/03/09 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS