织梦系统,如何给js漂浮图片加关闭按钮和加链接?

JavaScript06

织梦系统,如何给js漂浮图片加关闭按钮和加链接?,第1张

<title>JS漂浮图片,点击图片后会关闭</title>

<script language="JavaScript">

var Ymax=8

var Xmax=8

var Tmax=10000

var floatimages=new Array()

floatimages[0]='/images/logo.gif'

floatimages[1]='/jscss/demoimg/wall_s8.jpg'

var NS4 = (navigator.appName.indexOf("Netscape")>=0 &&parseFloat(navigator.appVersion) >= 4 &&parseFloat(navigator.appVersion) <5)? true : false

var IE4 = (document.all)? true : false

var NS6 = (parseFloat(navigator.appVersion) >= 5 &&navigator.appName.indexOf("Netscape")>=0 )? true: false

var wind_w, wind_h, t='', IDs=new Array()

for(i=0i<floatimages.lengthi++){

t+=(NS4)?'<layer name="pic'+i+'" visibility="hide" width="10" height="10"><a href="javascript:hidebutterfly()">' : '<div id="pic'+i+'" style="position:absolutevisibility:hiddenwidth:10pxheight:10px"><a href="javascript:hidebutterfly()">'

t+='<img src="'+floatimages[i]+'" name="p'+i+'" border="0"/>'

t+=(NS4)? '</a></layer>':'</a></div>'

}

document.write(t)

function moveimage(num){

if(getidleft(num)+IDs[num].W+IDs[num].Xstep >= wind_w+getscrollx())IDs[num].Xdir=false

if(getidleft(num)-IDs[num].Xstep<=getscrollx())IDs[num].Xdir=true

if(getidtop(num)+IDs[num].H+IDs[num].Ystep >= wind_h+getscrolly())IDs[num].Ydir=false

if(getidtop(num)-IDs[num].Ystep<=getscrolly())IDs[num].Ydir=true

moveidby(num, (IDs[num].Xdir)? IDs[num].Xstep : -IDs[num].Xstep , (IDs[num].Ydir)? IDs[num].Ystep: -IDs[num].Ystep)

}

function getnewprops(num){

IDs[num].Ydir=Math.floor(Math.random()*2)>0

IDs[num].Xdir=Math.floor(Math.random()*2)>0

IDs[num].Ystep=Math.ceil(Math.random()*Ymax)

IDs[num].Xstep=Math.ceil(Math.random()*Xmax)

setTimeout('getnewprops('+num+')', Math.floor(Math.random()*Tmax))

}

function getscrollx(){

if(NS4 || NS6)return window.pageXOffset

if(IE4)return document.body.scrollLeft

}

function getscrolly(){

if(NS4 || NS6)return window.pageYOffset

if(IE4)return document.body.scrollTop

}

function getid(name){

if(NS4)return document.layers[name]

if(IE4)return document.all[name]

if(NS6)return document.getElementById(name)

}

function moveidto(num,x,y){

if(NS4)IDs[num].moveTo(x,y)

if(IE4 || NS6){

IDs[num].style.left=x+'px'

IDs[num].style.top=y+'px'

}}

function getidleft(num){

if(NS4)return IDs[num].left

if(IE4 || NS6)return parseInt(IDs[num].style.left)

}

function getidtop(num){

if(NS4)return IDs[num].top

if(IE4 || NS6)return parseInt(IDs[num].style.top)

}

function moveidby(num,dx,dy){

if(NS4)IDs[num].moveBy(dx, dy)

if(IE4 || NS6){

IDs[num].style.left=(getidleft(num)+dx)+'px'

IDs[num].style.top=(getidtop(num)+dy)+'px'

}}

function getwindowwidth(){

if(NS4 || NS6)return window.innerWidth

if(IE4)return document.body.clientWidth

}

function getwindowheight(){

if(NS4 || NS6)return window.innerHeight

if(IE4)return document.body.clientHeight

}

function init(){

wind_w=getwindowwidth()

wind_h=getwindowheight()

for(i=0i<floatimages.lengthi++){

IDs[i]=getid('pic'+i)

if(NS4){

IDs[i].W=IDs[i].document.images["p"+i].width

IDs[i].H=IDs[i].document.images["p"+i].height

}

if(NS6 || IE4){

IDs[i].W=document.images["p"+i].width

IDs[i].H=document.images["p"+i].height

}

getnewprops(i)

moveidto(i , Math.floor(Math.random()*(wind_w-IDs[i].W)), Math.floor(Math.random()*(wind_h-IDs[i].H)))

if(NS4)IDs[i].visibility = "show"

if(IE4 || NS6)IDs[i].style.visibility = "visible"

startfly=setInterval('moveimage('+i+')',Math.floor(Math.random()*100)+100)

}}

function hidebutterfly(){

for(i=0i<floatimages.lengthi++){

if (IE4)

eval("document.all.pic"+i+".style.visibility='hidden'")

else if (NS6)

document.getElementById("pic"+i).style.visibility='hidden'

else if (NS4)

eval("document.pic"+i+".visibility='hide'")

clearInterval(startfly)

}

}

if (NS4||NS6||IE4){

window.onload=init

window.onresize=function(){ wind_w=getwindowwidth()wind_h=getwindowheight()}

}

</script>

你这js写的有问题啊,浏览器的执行速度是很快的,当你页面加载后,显示的是你的第一张图片,当你鼠标放到第一张图片上时,这个循环立马执行完了,也就是i=9的时候,你这时候找不到09.jpg这张图片了。你把循环去掉,在onmouseover函数里面最下面加一个i++就可以了。。