|          
一般的做法,只能显示两张图片,因为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>使用的技巧区别于以往的主要在将图片交替转为两个数组,利用内部计数Interpolate和NthAnim技术实现动画。(出处:视觉中国)
 |