之前做的一个特效,模仿一些网站右下角升出广告,不是很完美! //页面右下角漂浮层上下或左右移动,广告浮动 /* *id: 漂浮层ID值 *direction: 移动方向,可选参数,默认up,up 上下移动;left 左右移动; *back: 控制是否移回,默认no不移回,back移回; *add: 辅助计数器,不需传值; *注: 漂浮对象须加行内样式,设定定位方式; */ function comeandgo(id,direction,back,add) { //获取漂浮对象 var oDiv=$(id,0); if(!oDiv)return; if(!direction)direction="up"; if(!back)back="no"; if(!add)add=0; //设定漂浮对象初始位置,默认屏幕右下方,向上浮动 if(add==0) { oDiv.style.left="100%"; oDiv.style.top="100%"; oDiv.style.display="block"; if(direction.toLowerCase()=="up") { oDiv.style.marginLeft="-"+(parseInt(oDiv.style.width)+20)+"px"; oDiv.style.marginTop="-20px"; } else { oDiv.style.marginLeft="-20px"; oDiv.style.marginTop="-"+(parseInt(oDiv.style.height)+20)+"px"; } } //辅助计数器累加 add++; var L,FinaL; if(direction.toLowerCase()=="up") { L=oDiv.style.height; } else { L=oDiv.style.width; } //漂浮长度 FinaL=parseInt(L); if(add<FinaL)//向上或左漂浮 { if(direction.toLowerCase()!="up")oDiv.style.pixelLeft-=1; else oDiv.style.pixelTop-=1; setTimeout("comeandgo('"+id+"','"+direction+"','"+back+"',"+add+")",10); } else if(add==FinaL)//停留 { setTimeout("comeandgo('"+id+"','"+direction+"','"+back+"',"+add+")",1000);//setTimeout("comeandgo('"+id+"','"+direction+"',"+add+")",1000); } else if(back=="back" && add<=2*FinaL+20)//飘回离开屏幕 { if(direction.toLowerCase()!="up")oDiv.style.pixelLeft+=1; else oDiv.style.pixelTop+=1; setTimeout("comeandgo('"+id+"','"+direction+"','"+back+"',"+add+")",10); } }