JavaScript兼容所有浏览器的浮动窗口

2014-10-20 00:54| 发布者: CODETC| 查看: 2412| 评论: 0

经常看见一些网站右下角有个浮动窗口,可以随滚动条上下滚动。此代码便是
<script type="text/javascript">
function $(id)
{
  return document.getElementById(id);
}
var LoginUI = !!window.LoginUI || {};
 
LoginUI.getViewportWidth = function(){
    var width=0;
    if(document.documentElement && document.documentElement.clientWidth){
    width=document.documentElement.clientWidth;}
    else if(document.body && document.body.clientWidth){
    width=document.body.clientWidth;}
    else if(window.innerWidth){
    width=window.innerWidth-18;}
    return width;
}
 
 
LoginUI.getViewportHeight = function() {
    var height=0;
    if(window.innerHeight){
    height=window.innerHeight-18;}
    else if(document.documentElement&&document.documentElement.clientHeight){
    height=document.documentElement.clientHeight;}
    else if(document.body&&document.body.clientHeight){
    height=document.body.clientHeight;}
    return height;
}
 
LoginUI.getViewportScrollX = function(){
    var scrollX=0;
    if(document.documentElement&&document.documentElement.scrollLeft){
    scrollX=document.documentElement.scrollLeft;}
    else if(document.body&&document.body.scrollLeft){
    scrollX=document.body.scrollLeft;}
    else if(window.pageXOffset){
    scrollX=window.pageXOffset;}
    else if(window.scrollX){
    scrollX=window.scrollX;}
    return scrollX;
}
 
LoginUI.getViewportScrollY=function() {
    var scrollY=0;
    if(document.documentElement&&document.documentElement.scrollTop){
    scrollY=document.documentElement.scrollTop;}
    else if(document.body&&document.body.scrollTop){
    scrollY=document.body.scrollTop;}
    else if(window.pageYOffset){
    scrollY=window.pageYOffset;}
    else if(window.scrollY){
    scrollY=window.scrollY;}
    return scrollY;
}
 
function scrollMsgTip()
{
   var t = LoginUI.getViewportHeight() + 
      LoginUI.getViewportScrollY() - $("msgtip").offsetHeight;
   $("msgtip").style.top = t + "px"; 
   $("msgtip").style.left = LoginUI.getViewportWidth() + 
      LoginUI.getViewportScrollX() - $("msgtip").offsetWidth + "px";
}
 
function scrollTip()
{
    scrollMsgTip()
}
 
window.onload = window.onscroll = scrollTip;
 
</script>
 
页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
 
</head>
<body>
<div style='position:absolute;top:0;left:0;
    width:300px;height:180px;border:3px double #AAA' id='msgtip'>dfddfdf</div>
 
<p>a</p>
</body>
</html>
<!-- 可以根据自己需求,更改浮动位置,记得把JS放进来。-->

文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-12-1.html

最新评论

 作为游客发表评论,请输入您的昵称

返回顶部