惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
The Cloudflare Blog
量子位
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
D
DataBreaches.Net
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
U
Unit 42
博客园 - 聂微东
有赞技术团队
有赞技术团队
A
About on SuperTechFans

张鑫旭-鑫空间-鑫生活

1分钟速度了解text-align match-parent声明 « 张鑫旭-鑫空间-鑫生活 光标的形状也能设置了,就是CSS caret-shape属性 « 张鑫旭-鑫空间-鑫生活 pretext与文字四面环绕效果的实现 « 张鑫旭-鑫空间-鑫生活 JSON.rawJSON方法的作用是什么? « 张鑫旭-鑫空间-鑫生活 如何使用CSS判断鼠标从哪个方向进入元素? « 张鑫旭-鑫空间-鑫生活 借助mediabunny纯JS实现视频水印、剪裁、合成等功能 « 张鑫旭-鑫空间-鑫生活 务必谨慎使用JS WeakRef弱引用 « 张鑫旭-鑫空间-鑫生活 CSS六边形头像的实现与蜂巢布局 « 张鑫旭-鑫空间-鑫生活 CSS corner-shape与背景底纹技术 « 张鑫旭-鑫空间-鑫生活 浅学WebTransport API:下一代Web双向通信技术 « 张鑫旭-鑫空间-鑫生活 HTML dialog元素新支持了closedBy属性 « 张鑫旭-鑫空间-鑫生活 HTML interestfor属性与悬停popover交互效果 « 张鑫旭-鑫空间-鑫生活 我对CSS vertical-align的一些理解与认识(一) « 张鑫旭-鑫空间-鑫生活 CSS3模拟window7炫酷界面效果展示 « 张鑫旭-鑫空间-鑫生活 图片旋转+剪裁js插件(兼容各浏览器) « 张鑫旭-鑫空间-鑫生活 纯js无图片无外链CSS图片幻灯片播放插件 « 张鑫旭-鑫空间-鑫生活 CSS border三角、圆角图形生成技术简介 « 张鑫旭-鑫空间-鑫生活 CSS “渐进增强”在web制作中常见应用举例 « 张鑫旭-鑫空间-鑫生活 让IE6/IE7/IE8浏览器支持CSS3属性 « 张鑫旭-鑫空间-鑫生活 jQuery – 高亮动态显示页面HTML代码插件 « 张鑫旭-鑫空间-鑫生活 翻译 – 逐渐消失的Flash网站 « 张鑫旭-鑫空间-鑫生活 CSS reset的重新审视 – 避免样式重置 « 张鑫旭-鑫空间-鑫生活 新浪微博插入话题后部分文字选中的js实现 « 张鑫旭-鑫空间-鑫生活 JavaScript实现http地址自动检测并添加URL链接 « 张鑫旭-鑫空间-鑫生活 CSS实现兼容性的渐变背景(gradient)效果 « 张鑫旭-鑫空间-鑫生活 CSS content内容生成技术以及应用 « 张鑫旭-鑫空间-鑫生活 CSS gradient渐变之webkit核心浏览器下的使用 « 张鑫旭-鑫空间-鑫生活 CSS渐变之CSS3 gradient在Firefox3.6下的使用 « 张鑫旭-鑫空间-鑫生活 区分IE8/IE7/IE6及其他浏览器-CSS “\9″hack « 张鑫旭-鑫空间-鑫生活 CSS实现跨浏览器兼容性的盒阴影效果 « 张鑫旭-鑫空间-鑫生活
JavaScript实现图片幻灯片滚动播放动画效果 « 张鑫旭-鑫空间...
张鑫旭,zhangxinxu · 2009-10-21 · via 张鑫旭-鑫空间-鑫生活

这篇文章发布于 2009年10月21日,星期三,10:43,归类于 JS实例。 阅读 121277 次, 今日 3 次 4 条评论

by zhangxinxu from http://www.zhangxinxu.com
本文地址:http://www.zhangxinxu.com/wordpress/?p=288

想必大多数的互联网用户都访问过迅雷的首页,在迅雷首页视觉最集中,关注度最高的区域就是一个图片切换滚动播放的动画效果。可参见下面的截图:

迅雷首页的图片切换播放动画截图

早在去年,我js还相当稚嫩的时候,曾试图手写上图所示的效果,但是无法妥善的处理定时器,结果效果不佳,最后放弃。后来也没有再研究这种效果,知识是不断积累的,前两天再次想到试试实现这种效果,发现很轻松了。这类效果的应用在网页上是很常见的,有一类效果很不错的是js+as也就是JavaScript+flash的实现,但是一般这类动画总是占据网页最重要的位置,使用flash做载体遭遇未安装flash插件的用户效果大打折扣,在大型网站上,多使用纯粹的JavaScript实现这类效果。

在本文中所展示的这个图片切换的JavaScript代码,个人觉得,还是挺精炼的,希望对这个展示效果有兴趣的同仁能提供一些参考。提供demo实例页面,源代码可以在实例页面上右键单击查看,希望对您有所帮助。

下为demo页面的截图缩略图:

demo实例页面截图

看图说话:
1、这里使用三张图片做演示,左栏为三张小图,右侧为三张大图,但是大图通过绝对定位受限于父标签的overflow:hidden属性只显示了一张图片。在实际页面上,左右内容是可以更改的,并不局限于图片这一格式。
2、动画效果有两类触发,一是定时器触发动画,也就是没间隔一段时间,图片就会切换显示一次;还有就是鼠标经过缩略图触发图片切换,鼠标事件会清除定时器,直至鼠标移开缩略小图。
3、左侧缩略图样式的差异建议通过class控制,通过class类的添加移除控制缩略图样式的显示。使用class控制样式的好处在控制单一方便,尤其当左侧缩略内容丰富时(例如本文提到的迅雷首页的那个切换效果)。
4、右侧大图由于图片大小有差异,所以我添加的空span标签控制图片垂直居中。在实际项目中,右侧的大图肯定是大小一模一样的,所以源代码中的<span>空标签可以删除,image大图的样式也可以去除。
5、关于JavaScript代码部分,值得一提的是,在使用定时器处理一些动画效果时,建议使用闭包,便于控制。JavaScript中的闭包是高级JavaScript必须掌握的知识,如果您不熟悉,建议看看。代码细节部分就不多说了,我对JavaScript涉猎尚浅,代码一定不是最优的,欢迎在JavaScript上颇有心得的同行们提出建议,不甚感谢。

您可以单击这里:demo实例页面

由于单页面,源代码可直接在demo实例页面右键查看。

本文为原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]
本文地址:http://www.zhangxinxu.com/wordpress/?p=288

(本篇完)