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:以前写的xmlhttp池,代码
May 18 Javascript
javascript与CSS复习(《精通javascript》)
Jun 29 Javascript
jquery的ajax请求全面了解
Mar 20 Javascript
js获取location.href的参数实例代码
Aug 02 Javascript
node.js不得不说的12点内容
Jul 14 Javascript
推荐4个原生javascript常用的函数
Jan 12 Javascript
js在指定位置增加节点函数insertBefore()用法实例
Jan 12 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
Jan 21 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
在小程序中使用Echart图表的示例代码
Aug 02 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
Aug 24 Javascript
vue服务端渲染缓存应用详解
Sep 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也可以?成Shell Script
2006/10/09 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
使用js获取QueryString的方法小结
2010/02/28 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
ajax请求get与post的区别总结
2013/11/04 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
python中Genarator函数用法分析
2015/04/08 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
2017/06/09 Python
python3处理含有中文的url方法
2018/05/10 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
python elasticsearch环境搭建详解
2019/09/02 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
篮球比赛策划方案
2014/06/05 职场文书
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
军训个人总结
2015/03/03 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
李强感恩观后感
2015/06/17 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
Python集合的基础操作
2021/11/01 Python