js提示框跟随提示框文档格式.docx
《js提示框跟随提示框文档格式.docx》由会员分享,可在线阅读,更多相关《js提示框跟随提示框文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
,moveMouse,false);
click'
checkMove,false);
}
varoDv=document.createElement("
div"
);
vardvHdr=document.createElement("
vardvBdy=document.createElement("
varwindowlock,boxMove,fixposx,fixposy,lockX,lockY,fixx,fixy,ox,oy,boxLeft,boxRight,boxTop,boxBottom,evt,mouseX,mouseY,boxOpen,totalScrollTop,totalScrollLeft;
boxOpen=false;
ox=10;
oy=10;
lockX=0;
lockY=0;
functioninit(){
oDv.appendChild(dvHdr);
oDv.appendChild(dvBdy);
oDv.style.position="
absolute"
;
oDv.style.visibility='
hidden'
document.body.appendChild(oDv);
functiondefHdrStyle(){
dvHdr.innerHTML='
imgstyle="
vertical-align:
middle"
src="
info.gif"
&
nbsp;
'
+dvHdr.innerHTML;
dvHdr.style.fontWeight='
bold'
dvHdr.style.width='
150px'
dvHdr.style.fontFamily='
arial'
dvHdr.style.border='
1pxsolid#A5CFE9'
//提示框-标题-边框样式
dvHdr.style.padding='
3'
dvHdr.style.fontSize='
11'
dvHdr.style.color='
#4B7A98'
dvHdr.style.background='
#D5EBF9'
//提示框-标题-背景颜色
dvHdr.style.filter='
alpha(opacity=85)'
//IE
dvHdr.style.opacity='
0.85'
//FF
functiondefBdyStyle(){
dvBdy.style.borderBottom='
//提示框-主题-样式
dvBdy.style.borderLeft='
dvBdy.style.borderRight='
dvBdy.style.width='
dvBdy.style.fontFamily='
dvBdy.style.fontSize='
dvBdy.style.padding='
dvBdy.style.color='
#1B4966'
dvBdy.style.background='
#ffffff'
dvBdy.style.filter='
dvBdy.style.opacity='
functioncheckElemBO(txt){
if(!
txt||typeof(txt)!
='
string'
)returnfalse;
if((txt.indexOf('
header'
)>
-1)&
(txt.indexOf('
body'
['
-1))
returntrue;
else
returnfalse;
functionscanBO(curNode){
if(checkElemBO(curNode.title)){
curNode.boHDR=getParam('
curNode.title);
curNode.boBDY=getParam('
curNode.boCSSBDY=getParam('
cssbody'
curNode.boCSSHDR=getParam('
cssheader'
curNode.IEbugfix=(getParam('
hideselects'
curNode.title)=='
on'
)?
true:
false;
curNode.fixX=parseInt(getParam('
fixedrelx'
curNode.title));
curNode.fixY=parseInt(getParam('
fixedrely'
curNode.absX=parseInt(getParam('
fixedabsx'
curNode.absY=parseInt(getParam('
fixedabsy'
curNode.offY=(getParam('
offsety'
curNode.title)!
parseInt(getParam('
curNode.title)):
10;
curNode.offX=(getParam('
offsetx'
curNode.fade=(getParam('
fade'
curNode.fadespeed=(getParam('
fadespeed'
getParam('
curNode.title):
0.04;
curNode.delay=(getParam('
delay'
0;
if(getParam('
requireclick'
curNode.requireclick=true;
document.all?
curNode.attachEvent('
showHideBox):
curNode.addEventListener('
showHideBox,false);
onmouseover'
hideBox):
mouseover'
hideBox,false);
else{//Note:
ifrequireclickisonthestopclicksareignored
doubleclickstop'
off'
ondblclick'
pauseBox):
dblclick'
pauseBox,false);
}
singleclickstop'
curNode.windowLock=getParam('
windowlock'
curNode.title).toLowerCase()=='
?
false:
true;
curNode.title='
curNode.hasbox=1;
else
curNode.hasbox=2;
functiongetParam(param,list){
varreg=newRegExp('
([^a-zA-Z]'
+param+'
|^'
)\\s*=\\s*\\[\\s*(((\\[\\[)|(\\]\\])|([^\\]\\[]))*)\\s*\\]'
varres=reg.exec(list);
varreturnvar;
if(res)
returnres[2].replace('
[['
'
).replace('
]]'
]'
return'
functionLeft(elem){
varx=0;
if(elem.calcLeft)
returnelem.calcLeft;
varoElem=elem;
while(elem){
if((elem.currentStyle)&
(!
isNaN(parseInt(elem.currentStyle.borderLeftWidth)))&
(x!
=0))
x+=parseInt(elem.currentStyle.borderLeftWidth);
x+=elem.offsetLeft;
elem=elem.offsetParent;
oElem.calcLeft=x;
returnx;
functionTop(elem){
if(elem.calcTop)
returnelem.calcTop;
while(elem){
isNaN(parseInt(elem.currentStyle.borderTopWidth)))&
x+=parseInt(elem.currentStyle.borderTopWidth);
x+=elem.offsetTop;
oElem.calcTop=x;
varah,ab;
functionapplyStyles(){
if(ab)
oDv.removeChild(dvBdy);
if(ah)
oDv.removeChild(dvHdr);
dvHdr=document.createElement("
dvBdy=document.createElement("
CBE.boCSSBDY?
dvBdy.className=CBE.boCSSBDY:
defBdyStyle();
CBE.boCSSHDR?
dvHdr.className=CBE.boCSSHDR:
defHdrStyle();
dvHdr.innerHTML=CBE.boHDR;
dvBdy.innerHTML=CBE.boBDY;
ah=false;
ab=false;
if(CBE.boHDR!
){
ah=true;
if(CBE.boBDY!
){
ab=true;
varCSE,iterElem,LSE,CBE,LBE,totalScrollLeft,totalScrollTop,width,height;
varini=false;
//Customisedfunctionforinnerwindowdimension
functionSHW(){
if(document.body&
(document.body.clientWidth!
=0)){
width=document.body.clientWidth;
height=document.body.clientHeight;
if(document.documentElement&
(document.documentElement.clientWidth!
=0)&
(document.body.clientWidth+20>
=document.documentElement.clientWidth)){
width=document.documentElement.clientWidth;
height=document.documentElement.clientHeight;
return[width,height];
varID=null;
functionmoveMouse(e){
//boxMove=true;
e?
evt=e:
evt=event;
CSE=evt.target?
evt.target:
evt.srcElement;
if(!
CSE.hasbox){
//NoteweneedtoscanupDOMhere,someelementslikeTRdon'
tgettriggeredassrcElement
iElem=CSE;
while((iElem.parentNode)&
iElem.hasbox)){
scanBO(iElem);
iElem=iElem.parentNode;
if((CSE!
=LSE)&
(!
isChild(CSE,dvHdr))&
isChild(CSE,dvBdy))){
CSE.boxItem){
iterElem=CSE;
while((iterElem.hasbox==2)&
(iterElem.parentNode))
iterElem=iterElem.parentNode;
CSE.boxItem=iterElem;
iterElem=CSE.boxItem;
if(CSE.boxItem&
(CSE.boxItem.hasbox==1)){
LBE=CBE;
CBE=iterElem;
if(CBE!
=LBE){
applyStyles();
CBE.requireclick)
if(CBE.fade){
if(ID!
=null)
clearTimeout(ID);
ID=setTimeout("
fadeIn("
+CBE.fadespeed+"
)"
CBE.delay);
else{
COL=1;
oDv.style.visibility='
visible'
ID=null;
"
if(CBE.IEbugfix){hideSelects();
fixposx=!
isNaN(CBE.fixX)?
Left(CBE)+CBE.fixX:
CBE.absX;
fixposy=!
isNaN(CBE.fixY)?
Top(CBE)+CBE.fixY:
CBE.absY;
lockX=0;
lockY=0;
boxMove=true;
ox=CBE.offX?
CBE.offX:
oy=CBE.offY?
CBE.offY:
elseif(!
isChild(CSE,dvHdr)&
!
isChild(CSE,dvBdy)&
(boxMove)){
//Theconditionalherefixesflickeringbetweentablescells.
if((!
isChild(CBE,CSE))||(CSE.tagName!
TABLE'
)){
CBE=null;
fadeOut();
showSelects();
LSE=CSE;
elseif(((isChild(CSE,dvHdr)||isChild(CSE,dvBdy))&
(boxMove))){
totalScrollLeft=0;
totalScrollTop=0;
while(iterElem){
if(!
isNaN(parseInt(iterElem.scrollTop)))
totalScrollTop+=parseInt(iterElem.scrollTop);
isNaN(parseInt(iterElem.scrollLeft)))
totalScrollLeft+=parseInt(iterElem.scrollLeft);
=null){
boxLeft=Left(CBE)-totalScrollLeft;
boxRight=parseInt(Left(CBE)+CBE.offsetWidth)-totalScrollLeft;
boxTop=Top(CBE)-totalScrollTop;
boxBottom=parseInt(Top(CBE)+CBE.offsetHeight)-totalScrollTop;
doCheck();
if(boxMove&
CBE){
//ThisaddedtoalleviatebuginIE6w.r.tDOCTYPE
bodyScrollTop=document.documentElement&
document.documentElement.scrollTop?
document.documentElement.scrollTop:
document.body.scrollTop;
bodyScrollLet=document.documentElement&
document.documentElement.scrollLeft?
document.documentElement.scrollLeft:
document.body.scrollLeft;
mouseX=evt.pageX?
evt.pageX-bodyScrollLet:
evt.clientX-document.body.clientLeft;
mouseY=evt.pageY?
evt.pageY-bodyScrollTop:
evt.clientY-document.body.clientTop;
if((CBE)&
(CBE.windowLock)){
mouseY<
-oy?
lockY=-mouseY-oy:
mouseX<
-ox?
lockX=-mouseX-ox:
mouseY>
(SHW()[1]-oDv.offsetHeight-oy)?
lockY=-mouseY+SHW()[1]-oDv.offsetHeight-oy:
lockY=lockY;
mouseX>
(SHW()[0]-dvBdy.offsetWidth-ox)?
lockX=-mouseX-ox+SHW()[0]-dvBdy.offsetWidth:
lockX=lockX;
oDv.style.left=((fixposx)||(fixposx==0))?
fixposx:
bodyScrollLet+mouseX+ox+lockX+"
px"
oDv.style.top=((fixposy)||(fixposy==0))?
fixposy:
bodyScrollTop+mouseY+oy+lockY+"
functiondoCheck(){
if((mouseX<
boxLeft)||(mouseX>
boxRight)||(mouseY<
boxTop)||(mouseY>
boxBottom)){
if(CBE.IEbugfix){showSelects();
functionpauseBox(e){
boxMove=false;
evt.cancelBubble=true;
functionshowHideBox(e){
oDv.style.visibility=(oDv.style.visibility!
: