今天的Google Doodle是个动态的,是一个骑马的动态Doodle,是谷歌纪念英国实验摄影师埃德沃德·迈布里奇182周年诞辰,埃德沃德·迈布里奇是运动摄影的开创者,所以谷歌涂鸦以一个运动的摄影作为背景创作的。

埃德沃德·迈布里奇(Eadweard J. Muybridge,1830年4月9日-1904年5月8日),英国摄影师,他因使用多个相机拍摄运动的物体而著名,他发明的“动物实验镜”(Zoopraxiscope)是一种可以播放运动图像的投影机,将连续图像绘制在一块玻璃圆盘的边缘,随着玻璃的旋转,将影像投射出去,这样就使这些影象显得像在运动。

我对这个doodle的实现比较感兴趣,下面做个实现小程序。只用一幅图的时候效果是这样的(稍等下,运动缓冲):

当两幅图同时使用的使用,就可以达到连贯的赛马效果了。

测试代码如下

01 var scrollBox = document.getElementById("classicScrollBox");
02 var num_record = 0;//起止位置计算
03 var num_motion = 1000;//动画执行间隔
04 var num_motionTime = 5;//动画缓动系数
05 window.onload = function(){
06     function scrolls(){
07         scrollBox.style.left = (parseInt(scrollBox.style.left)-67) +'px';
08         num_record += 67;
09         if(num_record == 804){
10             scrollBox.style.left = 0 + 'px';
11             num_record = 0;
12         }
13         num_motionTime = Math.ceil(num_motion/100);
14         if (num_motionTime == 0) {
15             num_motionTime = 1;
16         }
17         if (num_motion != 40) {
18             num_motion -= 10*num_motionTime;
19         }
20         setTimeout(scrolls,num_motion);
21     }
22     setTimeout(scrolls,num_motion);
23 }

这次的代码不是很复杂,主要是使用css的背景属性,使用JavaScript计时器来改变时间,调整图片背景的位置达到动画效果。

最新文章

  1. OrcharNoCMS中的发布订阅使用
  2. Java集合---LinkedList源码解析
  3. VirtualBox的四种网络连接方式
  4. 【UVA 11401】Triangle Counting
  5. loadrunner关联边界乱码
  6. 夺命雷公狗—angularjs—6—单条数据的遍历
  7. Vue2.0的通用组件
  8. Android学习之旅:五子棋
  9. centos6.5安装pysider遇见的坑
  10. pygame系列
  11. navicat与phpmyadmin做mysql的自定义函数和事件
  12. Even Parity uva11464 模拟
  13. AI_深度学习概论
  14. 广州.NET微软技术俱乐部 微信群有用信息集锦
  15. ubuntu系统初始化网络及mysql配置
  16. [CodeForces - 614A] A - Link/Cut Tree
  17. 文件查找命令find
  18. 【3-28】JavaScript的DOM操作
  19. String args[] 和 String[] args 有什么区别
  20. jqGrid使用json实现的范例一

热门文章

  1. python-time模块、sys模块、os模块以及大量实例
  2. Kubernetes-深入分析集群安全机制(3.6)
  3. h5调试工具
  4. Ubantu E325 错误的解决办法
  5. Ubuntu 手机 app开发学习0
  6. Anytime项目开发记录0
  7. Ubuntu-C++环境设置
  8. 接口测试工具postman(一)下载安装说明
  9. Halcon17无法加载"hdevenginecpp":找不到指定的模块
  10. 机器学习 (一) 单变量线性回归 Linear Regression with One Variable