JavaScript 实现仿动画(循环播放图片)
Posted by Admin L in Web Programming & Resources on 29-08-2011.
作者:牧山道人
原文地址:https://www.seeksunslowly.com/js-play-pictures-animation-sc
转载请注明出处,谢谢。
_____________________________________
背景
不会做 Flash,不会做 GIF,或会做 GIF 但不满足于它的清晰度及文件尺寸(太大)。
这时,可以考虑一个简单的动画实现方案——使用 JavaScript 循环播放你准备好的图片,借以变向实现动画功能。
废话少说,直接看代码:
1、图片 HTML 代码
[cc lang=”html”]
[/cc]
注意,name=”playPictures” 很关键,一定要跟以下 js 代码引用物件名吻合。
2、循环播放图片以实现动画功能的 JavaScript 代码
[cc lang=”javascript”]
// 设置轮番显示速度。 var showSpeed = 2500; // 匀滑转换时间。 var crossFadeDuration = 3;
//// 指定图像文件。基本上,您只须修改这段代码!至于怎么改,相信您一看就明白了! var pic = new Array(); pic[0] = './animation/picture-a.jpg' pic[1] = './animation/picture-b.jpg' pic[2] = './animation/picture-c.jpg' pic[3] = './animation/picture-d.jpg' pic[4] = './animation/picture-e.jpg' pic[5] = './animation/picture-f.jpg' pic[6] = './animation/picture-g.jpg' ////
var t;
var j = 0;
var p = pic.length;
var preLoad = new Array();
for (i = 0; i < p; i++) {
preLoad[i] = new Image();
preLoad[i].src = pic[i];
}
function playPics() {
if (document.all) {
document.images.playPictures.style.filter="blendTrans(duration=2)";
document.images.playPictures.style.filter="blendTrans(duration=crossFadeDuration)";
document.images.playPictures.filters.blendTrans.Apply();
}
document.images.playPictures.src = preLoad[j].src;
if (document.all) {
document.images.playPictures.filters.blendTrans.Play();
}
j = j + 1;
if (j > (p - 1)) j = 0;
t = setTimeout('playPics()', showSpeed);
}
[/cc]
注意:一般情况下仅需修改指定各图片路径给 pic 数组这段代码即可,上述代码注释中已有强调。
3、激活动画功能的 HTML 代码
[cc lang=”html”]
[/cc]
即,在加载页面内容时,调用 JavaScript 图片循环播放功能。