有在用MSN的朋友一定都知道有动画快递这种功能,有些动画快递也蛮KUSO的。其实这些动画说穿了大多只是swf档,不过靠着swf中的动画就能让人有新奇的感觉,既然是swf档的话,那网页中当然也能播放啰。
先来看范例好了:
http://abgne.myweb.hinet....008_1.html嘿嘿~是不是很神奇啊!做法很简单,让我们先来看Body内的Code:
我先放了六张图,并在每张图内加了个onClick的Event,当图片被Click时就会触发show()函式,并把图片的src当参数使用。还有一个DIV是用来放我们要播放的动画使用的。
接着就是本篇的重点了:
先说一下我网页中那六张图片跟swf档的命名关系好了,图片名称依序是WPW0017602.png、WPW0032102.png、WPW0035102.png、WPW0016902.png、WPW0026202.png、WPW0015C02.png,swf名称依序是WPW0017602.swf、WPW0032102.swf、WPW0035102.swf、WPW0016902.swf、WPW0026202.swf、WPW0015C02.swf,有没有发现图片跟相对应的swf名称都一样,只是差在副档名的不同,酱命名是有用意的,等等当我解说JavsScript时就知道了。
在show()函式中有个参数src,这是当图片被Click触发show()函式时,所一起传入的参数,也就是图片的src位置。现在我们要播放的swf,所以要得知swf的存放路径才行,若我们把图片跟swf存放在同一空间目录的话,那两者差别就只是副档名了,所以现在新增了一个swfSrc的变数来存放从参数src第一字元到‧为止(含)中间的字串并加上"swf"即可。
现在我们已经有swf的路径了,再来就是产生一个能播放swf的元件EMBED,并设定它的宽高及显示的位置。EMBED的宽高是以整个Body中目前工作区域中的宽高为准,位置是以整个Body中目前卷轴左端跟顶端为准。
若在wmode设定中选择「transparent(透名)」,是让 Flash 影片的背景在支援透明功能的浏览器中消失。
OK~到这边应该都没什么问题吧!小小的技巧就能做到让人惊奇的效果了。有人会想说,那如果要让进来到这网页时就自动出现动画快递要怎么改呢?
其实只要在Body载入完时呼叫show()函式就可以了,这部份请自己看下面的范例吧!
范例浏览
http://abgne.myweb.hinet....008_1.htmlhttp://abgne.myweb.hinet....008_2.html以上内容于2005/09/27发表在小弟的Blog里
http://blog.xuite.net/abgne/diary1/4038654