当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 利用Wipe等ActiveX技术,实现n(n>>2)幅图片轮换擦洗显示

Javascript
javascript实现的动态添加表单元素input,button等(appendChild)
javascript动态添加单元格的脚本代码
[原创]仿google adsense颜色选择器代码,从中易广告联盟程序提取
asp javascript 实现关闭窗口时保存数据的办法
javascript 下拉框显示当前日期
惊云JS随机排序程序随机显示信息-每次新闻显示顺序都不一样
javascript下有关dom以及xml节点访问兼容问题
js 复制功能 支持 for IE/FireFox/mozilla/ns
css图片自适应大小
比较简单的一个符合web标准的JS调用flash方法
javascript数组组合成字符串的脚本
XRegExp 0.2: Now With Named Capture
jQuery 研究心得 取得属性的值
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
Prototype1.6 JS 官方下载地址
jquery 指南/入门基础
jquery api参考 visualjquery 中国线路 速度快
js控制fieldset高度的代码
document.documentElement && document.documentElement.scrollTop
js同时按下两个方向键

Javascript 中的 利用Wipe等ActiveX技术,实现n(n>>2)幅图片轮换擦洗显示


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 422 ::
收藏到网摘: n/a

一般的做法,只能显示两张图片,因为Wipe擦洗技术限制只能两张图片间切换。 但可以通过将两张图片转为动画交替显示

<script>
var i=0,pictures=new Array();//设置图片数组
var picbase=""; //设置图片所在目录
pictures[i++]="1.gif"
pictures[i++]="2.gif"
pictures[i++]="3.gif"
pictures[i++]="4.gif"
pictures[i++]="5.gif"
pictures[i++]="6.gif"
pictures[i++]="7.gif"
pictures[i++]="8.gif"
pictures[i++]="9.gif"
pictures[i++]="10.gif"
pictures[i++]="11.gif"
pictures[i++]="12.gif"
pictures[i++]="13.gif"
pictures[i++]="14.gif"
pictures[i++]="15.gif"
pictures[i++]="16.gif"
pictures[i++]="17.gif"
pictures[i++]="18.gif"
pictures[i++]="19.gif"
pictures[i++]="20.gif"
pictures[i++]="21.gif"
pictures[i++]="22.gif"
var picturewidth=400//图片宽度
var pictureheight=290//图片高度
var delay=1//延迟时间
</script>
<script>
if (document.all) {
document.write('<OBJECT ID="DAControl_Wipe" ')
document.write('STYLE="width:'+picturewidth+';height:'+pictureheight+'"')
document.write('CLASSID="CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D">')
document.write('</OBJECT>')
m = DAControl_Wipe.MeterLibrary;

whatTransformation = new ActiveXObject("DXImageTransform.Microsoft.Wipe");
whatTransformation.GradientSize = 1.0;//设置渐变度
whatTransformation.WipeStyle = 0;//设置擦洗类型

var myArr=new Array(),myArr2=new Array();
var len=Math.floor(pictures.length/2);//将图片分成两组
for(var i=0;i<len;i++){
myArr[i]=m.ImportImage(picbase+pictures[2*i])
myArr2[i]=m.ImportImage(picbase+pictures[2*i+1])
}
if(pictures[2*i])
myArr[i]=m.ImportImage(picbase+pictures[2*i])
else
myArr[i]=m.ImportImage(picbase+pictures[0]) ;
myArr=m.Array(myArr)
myArr2=m.Array(myArr2)
Index = m.Interpolate(0.5,len+0.5,len*2*delay).RepeatForever();
Index2 = m.Interpolate(0,len,len*2*delay).RepeatForever();
//交错运行半个时间单元
var whatPictures=new Array();
whatPictures[0] = myArr.NthAnim(Index);
whatPictures[1] = myArr2.NthAnim(Index2);

forward = m.Interpolate(0, 1, delay);
back = m.Interpolate(1, 0, delay);
whatMovement = m.Sequence(forward, back).RepeatForever();
//设置参数方向

theResult = m.ApplyDXTransform( whatTransformation, whatPictures, whatMovement );
DAControl_Wipe.Image = theResult.OutputBvr;//设置显示图形
DAControl_Wipe.Start();//开始
}
</script>