效果不错的浮动div
上周发现了一个还不错的浮动div,不过不支持
本文结合了QQ在线状态检查,可以作为QQ客户服务浮动窗口使用。至于如何检查QQ在线状态,本文就不多说了,具体清考这篇文章。
JavaScript检查qq在线状态
本文示例效果
QQ客服浮动+检测在线状态
下面贴出源代码参考,使用方法参考注释部分
原创文章,转载请注明出处:效果不错的浮动div
+展开
文档申明,修改了下代码,并将源代码改为面向对象的了。-HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
本文结合了QQ在线状态检查,可以作为QQ客户服务浮动窗口使用。至于如何检查QQ在线状态,本文就不多说了,具体清考这篇文章。
JavaScript检查qq在线状态
本文示例效果
QQ客服浮动+检测在线状态
下面贴出源代码参考,使用方法参考注释部分
+展开
-HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link href="images/qq.css" rel="Stylesheet" type="text/css" /><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
body,td{font-size:12px;margin:0px;}
</style>
</head><div style="width:100%;height:2000px;background:#eee"></div>
<script>
var online= new Array();
</script>
<div id="dvQQLeft"><!------------导入QQ状态检查接口,注意要一次性加上所有的QQ号码,要不会导致状态被覆盖---------------->
<script src="http://webpresence.qq.com/getonline?Type=1&774267677:269303824:1002096980:33003040:"></script>
<table border="0" width="110" cellspacing="0" cellpadding="0">
<tr><td width="110"><img border=0 src=images/kefu_up.gif></td></tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[0]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>774267677</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='在线即时交谈'>774267677</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[1]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>774267677</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=269303824&Site=在线咨询&Menu=no' title='在线即时交谈'>269303824</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[2]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=33003040&Site=在线咨询&Menu=no' title='客服不在线,请留言'>33003040</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=33003040&Site=在线咨询&Menu=no' title='在线即时交谈'>33003040</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[2]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>33003040</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=1002096980&Site=在线咨询&Menu=no' title='在线即时交谈'>1002096980</a>");
</script >
</td>
</tr>
<tr><td width="110"><img border=0 src=images/kefu_down.gif></td></tr>
</table></div>
<div id="dvQQRight">
<table border="0" width="110" cellspacing="0" cellpadding="0">
<tr><td width="110"><img border=0 src=images/kefu_up.gif></td></tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[0]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>774267677</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='在线即时交谈'>774267677</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[1]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>774267677</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=269303824&Site=在线咨询&Menu=no' title='在线即时交谈'>269303824</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[2]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=33003040&Site=在线咨询&Menu=no' title='客服不在线,请留言'>33003040</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=33003040&Site=在线咨询&Menu=no' title='在线即时交谈'>33003040</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[2]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>33003040</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=1002096980&Site=在线咨询&Menu=no' title='在线即时交谈'>1002096980</a>");
</script >
</td>
</tr>
<tr><td width="110"><img border=0 src=images/kefu_down.gif></td></tr>
</table></div>
<script type="text/javascript">
var floatDiv={
isScrict:document.compatMode=='CSS1Compat'//判断渲染模式
,floatDivs:[]//存储浮动对象的数组
,timer:null//计时器
,wrapperObject:function(el){
if(!el.move){
el.move=function(){this.style.top=this.y+'px';}
el.style.position='absolute';
}
var startX=parseInt(el.getAttribute('startX'),10),horizontalPos=parseFloat(el.getAttribute('horizontalPos'),10)
,verticalPos=parseFloat(el.getAttribute('verticalPos'),10),startY=parseInt(el.getAttribute(verticalPos?'ostartY':'startY'),10)
,clientWidth=this.isScrict?document.documentElement.clientWidth:document.body.clientWidth
,clientHeight=this.isScrict?document.documentElement.clientHeight:document.body.clientHeight
,scrollTop=this.isScrict?document.documentElement.scrollTop:document.body.scrollTop;
if(startX==0||startX==-1)el.style.left=(startX==-1?0:(startX==0?clientWidth-el.offsetWidth:startX))+'px';
else el.style.left=(horizontalPos==-1?startX:clientWidth-startX)+'px';
if(verticalPos){
startY=clientHeight-startY-el.offsetHeight;
el.setAttribute('startY',startY);
}
el.y=startY+scrollTop;
return el;
}
,holdPosition:function(){
var el,i,y=this.isScrict?document.documentElement.scrollTop:document.body.scrollTop,startY;
for(i=0;i<this.floatDivs.length;i++){
el=this.floatDivs[i];
startY=parseInt(el.getAttribute('startY'),10);
el.y+=(y+startY-el.y)/8;
el.move();
}
}
,onResize:function(){
clearInterval(this.timer);
for(var i=0;i<this.floatDivs.length;i++)this.wrapperObject(this.floatDivs[i]);//窗体大小变化时更新水平位置
var me=this;
this.timer=setInterval(function(){me.holdPosition();},10);
}
//dvID:浮动div的Id
//startX:浮动div距离页面水平位置,传递-1则为最左边,传递0则最右边
//horizontalPos:指示水平距离【startX为非0,-1时】,01为距离左边,0为距离右边
//startY:浮动div距离页面垂直位置
//verticalPos:指示垂直位置startY是从页面顶部到div顶部【0】 或者 是从页面底部到div底部的距离【1】
,bind:function(dvID,startX,horizontalPos,startY,verticalPos){
var el=document.getElementById(dvID);
if(!el)throw "要绑定的浮动对象不存在!";
el.setAttribute('startX',startX);el.setAttribute('horizontalPos',horizontalPos);
el.setAttribute('startY',startY);el.setAttribute('verticalPos',verticalPos);
if(verticalPos==1)el.setAttribute('ostartY',startY);
this.floatDivs.push(this.wrapperObject(el));
if(this.timer==null){
var me=this;
this.timer=setInterval(function(){me.holdPosition();},10);
if(window.addEventListener)window.addEventListener('resize',function(){me.onResize();},false);
else if(window.attachEvent)window.attachEvent('onresize',function(){me.onResize();});
}
}
}
floatDiv.bind('dvQQLeft',-1,null,100,0);
floatDiv.bind('dvQQRight',0,null,100,1);
</script>
</body>
</html>
<html>
<head>
<link href="images/qq.css" rel="Stylesheet" type="text/css" /><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
body,td{font-size:12px;margin:0px;}
</style>
</head><div style="width:100%;height:2000px;background:#eee"></div>
<script>
var online= new Array();
</script>
<div id="dvQQLeft"><!------------导入QQ状态检查接口,注意要一次性加上所有的QQ号码,要不会导致状态被覆盖---------------->
<script src="http://webpresence.qq.com/getonline?Type=1&774267677:269303824:1002096980:33003040:"></script>
<table border="0" width="110" cellspacing="0" cellpadding="0">
<tr><td width="110"><img border=0 src=images/kefu_up.gif></td></tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[0]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>774267677</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='在线即时交谈'>774267677</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[1]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>774267677</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=269303824&Site=在线咨询&Menu=no' title='在线即时交谈'>269303824</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[2]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=33003040&Site=在线咨询&Menu=no' title='客服不在线,请留言'>33003040</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=33003040&Site=在线咨询&Menu=no' title='在线即时交谈'>33003040</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[2]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>33003040</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=1002096980&Site=在线咨询&Menu=no' title='在线即时交谈'>1002096980</a>");
</script >
</td>
</tr>
<tr><td width="110"><img border=0 src=images/kefu_down.gif></td></tr>
</table></div>
<div id="dvQQRight">
<table border="0" width="110" cellspacing="0" cellpadding="0">
<tr><td width="110"><img border=0 src=images/kefu_up.gif></td></tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[0]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>774267677</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='在线即时交谈'>774267677</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[1]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>774267677</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=269303824&Site=在线咨询&Menu=no' title='在线即时交谈'>269303824</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[2]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=33003040&Site=在线咨询&Menu=no' title='客服不在线,请留言'>33003040</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=33003040&Site=在线咨询&Menu=no' title='在线即时交谈'>33003040</a>");
</script >
</td>
</tr>
<tr><td valign=middle background=images/kefu_middle.gif>
<script>
if (online[2]==0)
document.write(" <img src=images/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=774267677&Site=在线咨询&Menu=no' title='客服不在线,请留言'>33003040</a>");
else
document.write(" <img src=images/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=1002096980&Site=在线咨询&Menu=no' title='在线即时交谈'>1002096980</a>");
</script >
</td>
</tr>
<tr><td width="110"><img border=0 src=images/kefu_down.gif></td></tr>
</table></div>
<script type="text/javascript">
var floatDiv={
isScrict:document.compatMode=='CSS1Compat'//判断渲染模式
,floatDivs:[]//存储浮动对象的数组
,timer:null//计时器
,wrapperObject:function(el){
if(!el.move){
el.move=function(){this.style.top=this.y+'px';}
el.style.position='absolute';
}
var startX=parseInt(el.getAttribute('startX'),10),horizontalPos=parseFloat(el.getAttribute('horizontalPos'),10)
,verticalPos=parseFloat(el.getAttribute('verticalPos'),10),startY=parseInt(el.getAttribute(verticalPos?'ostartY':'startY'),10)
,clientWidth=this.isScrict?document.documentElement.clientWidth:document.body.clientWidth
,clientHeight=this.isScrict?document.documentElement.clientHeight:document.body.clientHeight
,scrollTop=this.isScrict?document.documentElement.scrollTop:document.body.scrollTop;
if(startX==0||startX==-1)el.style.left=(startX==-1?0:(startX==0?clientWidth-el.offsetWidth:startX))+'px';
else el.style.left=(horizontalPos==-1?startX:clientWidth-startX)+'px';
if(verticalPos){
startY=clientHeight-startY-el.offsetHeight;
el.setAttribute('startY',startY);
}
el.y=startY+scrollTop;
return el;
}
,holdPosition:function(){
var el,i,y=this.isScrict?document.documentElement.scrollTop:document.body.scrollTop,startY;
for(i=0;i<this.floatDivs.length;i++){
el=this.floatDivs[i];
startY=parseInt(el.getAttribute('startY'),10);
el.y+=(y+startY-el.y)/8;
el.move();
}
}
,onResize:function(){
clearInterval(this.timer);
for(var i=0;i<this.floatDivs.length;i++)this.wrapperObject(this.floatDivs[i]);//窗体大小变化时更新水平位置
var me=this;
this.timer=setInterval(function(){me.holdPosition();},10);
}
//dvID:浮动div的Id
//startX:浮动div距离页面水平位置,传递-1则为最左边,传递0则最右边
//horizontalPos:指示水平距离【startX为非0,-1时】,01为距离左边,0为距离右边
//startY:浮动div距离页面垂直位置
//verticalPos:指示垂直位置startY是从页面顶部到div顶部【0】 或者 是从页面底部到div底部的距离【1】
,bind:function(dvID,startX,horizontalPos,startY,verticalPos){
var el=document.getElementById(dvID);
if(!el)throw "要绑定的浮动对象不存在!";
el.setAttribute('startX',startX);el.setAttribute('horizontalPos',horizontalPos);
el.setAttribute('startY',startY);el.setAttribute('verticalPos',verticalPos);
if(verticalPos==1)el.setAttribute('ostartY',startY);
this.floatDivs.push(this.wrapperObject(el));
if(this.timer==null){
var me=this;
this.timer=setInterval(function(){me.holdPosition();},10);
if(window.addEventListener)window.addEventListener('resize',function(){me.onResize();},false);
else if(window.attachEvent)window.attachEvent('onresize',function(){me.onResize();});
}
}
}
floatDiv.bind('dvQQLeft',-1,null,100,0);
floatDiv.bind('dvQQRight',0,null,100,1);
</script>
</body>
</html>
加支付宝好友偷能量挖...
原创文章,转载请注明出处:效果不错的浮动div