Google+中有一个特效:拖拽用户头像至分组内,用户头像会有一个特效(绕着圆圈转一圈)。写了个简单的示例,效果如下图所示:
javaScript 动画代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>~ ~</title> <meta name="generator" content="editplus" /> <meta name="author" content="" /> <meta name="keywords" content="" /> <meta name="description" content="" /> <meta http-equiv='content-type' content='text/html; charset=utf-8' /> <style type='text/css'> * {margin:0; padding:0;} .m {position:absolute; width:1px; height:1px; z-index:1; background-color:#3399cc} .move {width:30px; height:30px; position:absolute; background-color:#da4936; z-index:999; border-radius:25px;} .h {width:800px; position:absolute; border-top:1px solid #323232; top:300px; left:0px; z-index:9;} .v {height:800px; border-left:1px solid #323232; left:300px; top:0; z-index:10; position:absolute;} #btn {margin:100px;} </style> </head> <body> <button id="btn">开始运动</button> <div class="move" id="modelEl"></div> <div class="h"></div> <div class="v"></div> <div> 步长:<select id='sel'> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="5">5</option> <option value="8">8</option> <option value="10">10</option> <option value="15">15</option> <option value="20">20</option> <option value="30">30</option> </select> </div> <script type="text/javascript"> //1度=π/180 弧度 ( ≈0.017453弧度 ) !(function() { for (var i = 0; i < 360; i+=1) { var r = 200; var x0 = 300; var y0 = 300; var angle = Math.PI * i / 180; var x = Math.cos(angle) * r + x0; var y = Math.sin(angle) * r + y0; document.write('<div class="m" style="left:'+x+'px; top:'+y+'px;"></div>'); r = 170; x = Math.cos(angle) * r + x0; y = Math.sin(angle) * r + y0; document.write('<div class="m" style="left:'+x+'px; top:'+y+'px;"></div>'); } })(); function getEl(id) { return typeof id === 'string' ? document.getElementById(id) : id; } getEl("btn").onclick = moveHandler; function movePos(n) { var el = getEl("modelEl"); var r = 185; var x0 = 300; var y0 = 300; var angle = Math.PI * n / 180; var x = Math.cos(angle) * r + x0 - el.offsetWidth/2; var y = Math.sin(angle) * r + y0 - el.offsetHeight/2; el.style.left = x + 'px'; el.style.top = y + 'px'; } movePos(270); function transform(A) { return 1 - Math.pow(1 - A, 3); } function moveHandler() { var base = 270; var step = getEl('sel').value | 0; var start = 360; var end = 0; getEl("btn").disabled = true; var timer = setInterval(function() { if (start >= end) { movePos(base + start); start -= step; step += transform((start - end)/360) / 100; } else { movePos(base + end); clearInterval(timer); if (moveHandler.count < 10) { moveHandler.count++; setTimeout(function() { getEl("sel").selectedIndex = Math.random() * getEl("sel").options.length | 0; moveHandler(); }, 100); } else { moveHandler.count = 0; getEl("btn").disabled = false; } } }, 1); } moveHandler.count = 0; </script> </body> </html>
相关推荐
这是一个使用JavaScript写的队列动画实现的简单实例,可供交流参考
canvas-particle-network, 使用Canvas和JavaScript的简单动画粒子网络 画布粒子网络 概述在这个实验中,我建立了一个使用画布和JavaScript构建一个简单。性能。交互和动画。 完全插入'播放,模块化( 通过Browserify...
HTML-JAVASCRIPT动画基础;包含“动画基础”“渲染技术”“矩阵数学基础”“3D动画”“高级动画”“碰撞检测”“物理运动学”等网页上动态动画以及高级动画的知识
iTyped 超级简单的Javascript动画打字效果,没有任何依赖
利用JavaScript canvas 做的 简单粒子动画, 可以根据 鼠标移动来实现动画飘逸效果。可以作为canvas入门练习
一个简单而强大的JavaScript动画引擎.zip
基于JavaScript实现简单的轮播图 本文实例为大家分享了JavaScript实现简单的轮播图的具体代码,供大家参考,具体内容如下 1、先获取元素 盒子 左右按钮 2、鼠标经过 显示/隐藏 左右侧按钮 3、动态生成小圆圈、 ...
最简单的闹钟 js代码
javascript实现的简单动画</title> <style type="text/css"> #mydiv { width:50px; height:50px; background-color:green; position:absolute; } </style> <script type="tex
使用html、css、js实现简单的选项卡制作(以及动画类的选项卡制作),点击开头的选项卡,就可以跳转对应的页面
简单动画使用FontAwesome学习JavaScript动画。
粘性导航栏 使用Vanilla CSS和JavaScript的简单动画粘性导航栏
JavaScript实现图片切换,主要用到setInterval()函数和clearInterval()函数,前者功能是开启动画,后者功能则为清除动画(可理解为使动画停止),为了使动画停止,则需要定义全局变量作为标志,标志返回setInterval...
wow.js是一个JavaScript库,用于制作网站上的滚动动画效果。它可以帮助您为网站添加动态和视觉吸引力,并使用户在滚动时感到更加舒适和流畅。 wow.js内置了许多不同类型的动画效果,例如淡入、弹跳、旋转、滑动等,...
Flutter的一个简单的动画径向菜单部件
制作简单的动画效果1
简单轻巧(2kb缩小和压缩)javascript插件,实现当你滚动时创建流畅和漂亮的动画! 利用最直观的互动的力量,让您的网站活跃起来!
项目中多处要给ajax提交的时候增加等待动画效果,所以就写了一个简单的通用js方法,大家参考使用吧
简单动画使用 javascript 和 HTML5 的简单动画示例
如何简单地用YUI做JavaScript动画