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 相关文章推荐
热点新闻滚动特效的js代码
Aug 17 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
Jan 13 Javascript
教你如何终止JQUERY的$.AJAX请求
Feb 23 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
May 10 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
Nov 22 Javascript
微信小程序 textarea 详解及简单使用方法
Dec 05 Javascript
微信小程序 蓝牙的实现实例代码
Jun 27 Javascript
Angularjs 1.3 中的$parse实例代码
Sep 14 Javascript
element-ui 表格数据时间格式化的方法
Aug 24 Javascript
JS实现图片切换特效
Dec 23 Javascript
js实现登录时记住密码的方法分析
Apr 05 Javascript
jquery实现淡入淡出轮播图效果
Dec 13 jQuery
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 采集获取指定网址的内容
2010/01/05 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
BootStrap 动态表单效果
2017/06/02 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
Python写的一个简单DNS服务器实例
2014/06/04 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
Django REST framework 视图和路由详解
2019/07/19 Python
Pytoch之torchvision.transforms图像变换实例
2019/12/30 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
高一自我鉴定
2013/12/17 职场文书
销售部主管岗位职责
2013/12/18 职场文书
毕业生个人求职信范文分享
2014/01/05 职场文书
学校爱心捐款倡议书
2014/05/13 职场文书
小学生运动会报道稿
2014/09/12 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
工程承包协议书
2014/10/20 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技