javascript运动框架用法实例分析(实现放大与缩小效果)


Posted in Javascript onJanuary 08, 2016

本文实例讲述了javascript运动框架用法。分享给大家供大家参考,具体如下:

该运动框架可以实现多物体任意值运动

运行效果截图如下:

javascript运动框架用法实例分析(实现放大与缩小效果)

例子:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>运动框架</title>
<style>
#div1{ width:100px; height:100px; background:red; position:absolute; left:0; top:50px; opacity:0.3; filter:alpha(opacity=30);}
</style>
<script>
window.onload = function()
{
 var oBtn = document.getElementById('btn1');
 var oDiv = document.getElementById('div1');
 oBtn.onclick = function()
 {
 startMove(oDiv, {width:200, height:200, opacity:100}, function(){
  startMove(oDiv, {width:100, height:100, opacity:30});
 });
 };
};
function getStyle(obj, attr)
{
 if(obj.currentStyle){
 return obj.currentStyle[attr]; 
 }else{
 return getComputedStyle(obj, false)[attr];
 }
}
function startMove(obj, json, fn)
{
 clearInterval(obj.timer);
 obj.timer = setInterval(function(){
 var bStop = true;
 for(var attr in json){
  var iCur = 0;
  if(attr == 'opacity'){
  iCur = Math.round(parseFloat(getStyle(obj, attr))*100);
  }else{
  iCur = parseInt(getStyle(obj, attr));
  }
  var iSpeed = (json[attr] - iCur)/8;
  iSpeed = iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
  if(iCur != json[attr]){
  bStop = false;
  }  
  if(attr == 'opacity'){
  obj.style.filter = 'alpha(opacity='+(iCur+iSpeed)+')';
  obj.style.opacity = (iCur+iSpeed)/100;
  }else{
  obj.style[attr] = iCur + iSpeed + 'px';
  }  
 }
 if(bStop){
  clearInterval(obj.timer);
  if(fn){
  fn();
  }
 }
 }, 30);
}
</script>
</head>
<body>
<input id="btn1" type="button" value="运动"/>
<div id="div1"></div>
</body>
</html>

更多关于JavaScript运动效果相关内容可查看本站专题:《JavaScript运动效果与技巧汇总》

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

Javascript 相关文章推荐
理解Javascript_02_理解undefined和null
Oct 11 Javascript
javascript基于HTML5 canvas制作画箭头组件
Jun 25 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
Aug 26 Javascript
prototype框架中美元符号$用法分析
Jan 22 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
Oct 10 Javascript
简单理解js的prototype属性及使用
Dec 07 Javascript
bootstrap组件之按钮式下拉菜单小结
Jan 19 Javascript
AngularJS与后端php的数据交互方法
Aug 13 Javascript
JS 5种遍历对象的方式
Jun 16 Javascript
typescript配置alias的详细步骤
Aug 12 Javascript
分享8个JavaScript库可更好地处理本地存储
Oct 12 Javascript
jquery实现简单的遮罩层
Jan 08 #Javascript
javascript多物体运动实现方法分析
Jan 08 #Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
Jan 08 #Javascript
javascript匀速运动实现方法分析
Jan 08 #Javascript
js如何改变文章的字体大小
Jan 08 #Javascript
JavaScript缓冲运动实现方法(2则示例)
Jan 08 #Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
Jan 08 #Javascript
You might like
用PHP和ACCESS写聊天室(五)
2006/10/09 PHP
PHP多个版本的分析解释
2011/07/21 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
比较搞笑的js陷阱题
2010/02/07 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
百度地图api如何使用
2015/08/03 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
JavaScript实现答题评分功能页面
2020/06/24 Javascript
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
python编写实现抽奖器
2020/09/10 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
database面试题
2013/03/28 面试题
银行毕业实习自我鉴定
2013/09/19 职场文书
英语专业学生个人求职信范文
2014/01/06 职场文书
大学生实习证明范本
2014/01/15 职场文书
教师研修随笔感言
2014/01/23 职场文书
预防传染病方案
2014/06/14 职场文书
宣传标语大全
2014/07/01 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
2014年营销工作总结
2014/11/22 职场文书
采购员岗位职责
2015/02/03 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript