问题一:我想请教一个问题,希望能得到您的帮助。很多网站的主页面上都有在页面上来回移动的图片,而且时隐时现,是怎么做出来的?
木鸟答:请把下边的代码copy进你的网页,注意需要改变的部分我已经注明了。
你所说的图片时隐时现应该是用的gif动画。
<script language="JavaScript">
var brOK=false;
var mie=false;
var aver=parseInt(navigator.appVersion.substring(0,1));
var aname=navigator.appName;
function checkbrOK()
{if(aname.indexOf("Internet Explorer")!=-1)
{if(aver>=4) brOK=navigator.javaEnabled();
mie=true;
}
if(aname.indexOf("Netscape")!=-1)
{if(aver>=4) brOK=navigator.javaEnabled();}
}
var vmin=2;
var vmax=5;
var vr=0.02;
var timer1;
function Chip(chipname,width,height)
{this.named=chipname;
this.vx=vmin+vmax*Math.random();
this.vy=vmin+vmax*Math.random();
this.w=width;
this.h=height;
this.xx=0;
this.yy=0;
this.timer1=null;
}
function movechip(chipname)
{
if(brOK)
{eval("chip="+chipname);
if(!mie)
{pageX=window.pageXOffset;
pageW=window.innerWidth;
pageY=window.pageYOffset;
pageH=window.innerHeight;
}
else
{pageX=window.document.body.scrollLeft;
pageW=window.document.body.offsetWidth-22;
pageY=window.document.body.scrollTop;
pageH=window.document.body.offsetHeight-34;
}
chip.xx=chip.xx+chip.vx;
chip.yy=chip.yy+chip.vy;
chip.vx+=vr*(Math.random()-0.5);
chip.vy+=vr*(Math.random()-0.5);
if(chip.vx>(vmax+vmin)) chip.vx=(vmax+vmin)*2-chip.vx;
if(chip.vx<(-vmax-vmin)) chip.vx=(-vmax-vmin)*2-chip.vx;
if(chip.vy>(vmax+vmin)) chip.vy=(vmax+vmin)*2-chip.vy;
if(chip.vy<(-vmax-vmin)) chip.vy=(-vmax-vmin)*2-chip.vy;
if(chip.xx<=pageX)
{chip.xx=pageX;
chip.vx=vmin+vmax*Math.random();
}
if(chip.xx>=pageX+pageW-chip.w)
{chip.xx=pageX+pageW-chip.w;
chip.vx=-vmin-vmax*Math.random();
}
if(chip.yy<=pageY)
{chip.yy=pageY;
chip.vy=vmin+vmax*Math.random();
}
if(chip.yy>=pageY+pageH-chip.h)
{chip.yy=pageY+pageH-chip.h;
chip.vy=-vmin-vmax*Math.random();
}
if(!mie)
{eval('document.'+chip.named+'.top ='+chip.yy);
eval('document.'+chip.named+'.left='+chip.xx);
}
else
{eval('document.all.'+chip.named+'.style.pixelLeft='+chip.xx);
eval('document.all.'+chip.named+'.style.pixelTop ='+chip.yy);
}
chip.timer1=setTimeout("movechip('"+chip.named+"')",140);
}
}
function hide(chipname){
if(brOK){
eval("chip="+chipname);
if(!mie)
eval('document.'+chip.named+'.visibility ='+"'hide'");
else
eval('document.all.'+chip.named+'.style.visibility ='+"'hidden'");
}
}
function stopme(chipname)
{if(brOK)
{//alert(chipname)
eval("chip="+chipname);
if(chip.timer1!=null)
{clearTimeout(chip.timer1)}
}
}
var chip1;
function pagestart()
{checkbrOK();
chip1=new Chip("chip1",117,75);
if(brOK)
{ movechip("chip1");
}
}
//if(brOK) {stopme('chip1');}
</script>
<div id=chip1
style="height: 105; position: absolute; visibility: visible;
width: 140; left: 180; top: 157">
<table border=0 cellpadding=4 cellspacing=0 class=bd width=60>
<tbody>
<tr>
<td align=middle class=bg2><a class=prs1
href="点击图片的链接地址" target=_blank><img border=0
class=bd src="图片文件的url" width="图片宽度" height="图片高度"></a></td>
</tr>
</tbody>
</table>
</div>
<script event=onload for=window language=JavaScript>
pagestart();
</script>
木鸟主页: http://book2u.myrice.com
freshly答:这个来回移动的图——〉叫做动态HTML动画!用DW3/DW4中的Timelines,就是时间线!
windows(窗口)\timelines(时间线)打开!
新建一个层,然后在层里面放一图片(也可是动画、文字),新建一个时间线,然后命名!这是移动时间线可以应用到图像了。用这种方法,如果动画要拐弯比较麻烦点。所以还有另一种方法,选择modify——〉timeline——〉add
object to timeline ,这个命令的意思是将对象添加到时间线。直接拖动层,就可以创建动画了,也就是你拖动时的路径,等于网页打开始后的播放路线!!
记得,时间线创建完成之后,不要忘了选中autoplay(自动播放)。
freshly档案:[email protected] http://freshly.yeah.net oicq:10316225