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 相关文章推荐
在textarea中显示html页面的javascript代码
Apr 20 Javascript
实现web打印的各种方法介绍及实现代码
Jan 09 Javascript
与Math.pow 相反的函数使用介绍
Aug 04 Javascript
jQuery大于号(&gt;)选择器的作用解释
Jan 13 Javascript
AngularJS+Node.js实现在线聊天室
Aug 28 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
Oct 14 Javascript
JavaScript的Number对象的toString()方法
Dec 18 Javascript
vue如何获取点击事件源的方法
Aug 10 Javascript
JS Input里添加小图标的两种方法
Nov 11 Javascript
vue cli3.0 引入eslint 结合vscode使用
May 27 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
Jun 27 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
Discuz板块横排显示图片的实现方法
2007/05/28 PHP
php程序的国际化实现方法(利用gettext)
2011/08/14 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
python threading模块操作多线程介绍
2015/04/08 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
python程序控制NAO机器人行走
2019/04/29 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
python爬虫请求头设置代码
2020/07/28 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
英国女性化妆品收纳和家具网站:Beautify
2019/12/07 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
运动会通讯稿500字
2014/02/20 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
五一劳动节活动总结
2015/02/09 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
五星级酒店前台接待岗位职责
2015/04/02 职场文书
Vue全局事件总线你了解吗
2022/02/24 Vue.js