悬浮层

< div  id =sohususpend
style ="LEFT: 90%; POSITION: absolute; TOP: 50%; VISIBILITY: visible; width: 100px; height: 74px" >< href ="#11" >< img  src ="/image/png-097.gif"  width ="100"  height ="100"  border ="0" ></ a ></ div >
< p >< script  language =JavaScript >
self.onError
=null;
currentX 
= currentY = 0;
whichIt 
= null;
lastScrollX 
= 0; lastScrollY = 0;
NS 
= (document.layers) ? 1 : 0;
IE 
= (document.all) ? 10;
function heartBeat() {
if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
if(diffY != lastScrollY) {
percent 
= .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.sohususpend.style.pixelTop += percent;
if(NS) document.sohususpend.top += percent;
lastScrollY 
= lastScrollY + percent;
}

if(diffX != lastScrollX) {
percent 
= .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.sohususpend.style.pixelLeft += percent;
if(NS) document.sohususpend.left += percent;
lastScrollX 
= lastScrollX + percent;
}

}

function checkFocus(x,y) {
stalkerx 
= document.sohususpend.pageX;
stalkery 
= document.sohususpend.pageY;
stalkerwidth 
= document.sohususpend.clip.width;
stalkerheight 
= document.sohususpend.clip.height;
if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
else return false;
}

function grabIt(e) {
if(IE) {
whichIt 
= event.srcElement;
while (whichIt.id.indexOf("sohususpend"== -1{
whichIt 
= whichIt.parentElement;
if (whichIt == nullreturn true; }
}

whichIt.style.pixelLeft 
= whichIt.offsetLeft;
whichIt.style.pixelTop 
= whichIt.offsetTop;
currentX 
= (event.clientX + document.body.scrollLeft);
currentY 
= (event.clientY + document.body.scrollTop);
}
 else {
window.captureEvents(Event.MOUSEDOWN);
if(checkFocus (e.pageX,e.pageY)) {
whichIt 
= document.sohususpend;
StalkerTouchedX 
= e.pageX-document.sohususpend.pageX;
StalkerTouchedY 
= e.pageY-document.sohususpend.pageY;
}

}

return true;
}

function moveIt(e) {
if (whichIt == nullreturn false; }
if(IE) {
newX 
= (event.clientX + document.body.scrollLeft);
newY 
= (event.clientY + document.body.scrollTop);
distanceX 
= (newX - currentX);    distanceY = (newY - currentY);
currentX 
= newX;    currentY = newY;
whichIt.style.pixelLeft 
+= distanceX;
whichIt.style.pixelTop 
+= distanceY;
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;
event.returnValue 
= false;
}
 else {
whichIt.moveTo(e.pageX
-StalkerTouchedX,e.pageY-StalkerTouchedY);
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
return false;
}

return false;
}

function dropIt() {
whichIt 
= null;
if(NS) window.releaseEvents (Event.MOUSEDOWN);
return true;
}

if(NS) {
window.captureEvents(Event.MOUSEUP
|Event.MOUSEDOWN);
window.onmousedown 
= grabIt;
window.onmousemove 
= moveIt;
window.onmouseup 
= dropIt;
}

if(IE) {
document.onmousedown 
= grabIt;
document.onmousemove 
= moveIt;
document.onmouseup 
= dropIt;
}

if(NS || IE) action = window.setInterval("heartBeat()",1);
</ script >
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值