当前位置: 首页 > 前端开发 >

兼容各主流浏览器的浮动代码 js漂浮代码

时间:2013-03-21 04:29 来源:其它 作者:凉风 点击:
兼容IE6 7 8 9 Firefox Chrome Safari Oprea浏览器的浮动代码 js漂浮代码
<!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>
<style type="text/css">
html,body{margin:0;padding:0;}
body{ width:1000px; height:1000px; }
#y1 {position:fixed;top:0;left:0;width:100px;height:100px;border:1px solid red;}
#y2 {position:fixed;top:0;right:0;width:100px;height:100px;border:1px solid red;}
#y3 {position:fixed;bottom:0;left:0;width:100px;height:100px;border:1px solid red;}
#y4 {position:fixed;bottom:0;right:0;width:100px;height:100px;border:1px solid red;}
#y5 {position:fixed;bottom:0;width:100px;height:100px;border:1px solid red; }
</style>
<!--[if lte IE 6]>
<style type="text/css">
#y1 {position:absolute;}
#y2 {position:absolute;}
#y3 {position:absolute;}
#y4 {position:absolute;}
#y5 {position:absolute;}
</style>
<![endif]-->
 
 
<script type="text/javascript">
  //以下所有脚本只为IE6写,其他浏览器完全可以删除。
  function getViewportScrollX() {
    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;
  }
 
  function getViewportScrollY() {
    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 getViewportWidth() {
    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;
  }
 
  function getViewportHeight() {
    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;
  }
 
  if (navigator.userAgent.indexOf("MSIE 6") > -1 && navigator.userAgent.indexOf("MSIE 7") == -1 && navigator.userAgent.indexOf("MSIE 8") == -1) {
    window.onload = window.onscroll = window.onresize = function (e) {
      var t = getViewportScrollY();
      var l = getViewportScrollX();
      var w = getViewportWidth();
      var h = getViewportHeight();
      document.getElementById("y1").style.left = l + "px";
      document.getElementById("y1").style.top = t + "px";
 
      document.getElementById("y2").style.left = l + w - document.getElementById("y2").offsetWidth + "px";
      document.getElementById("y2").style.top = t + "px";
 
      document.getElementById("y3").style.left = l + "px";
      document.getElementById("y3").style.top = t + h - document.getElementById("y2").offsetHeight + "px";
 
      document.getElementById("y4").style.left = l + w - document.getElementById("y2").offsetWidth + "px";
      document.getElementById("y4").style.top = t + h - document.getElementById("y2").offsetHeight + "px";
 
      document.getElementById("y5").style.left = l + w/2 - document.getElementById("y2").offsetWidth/2 + "px";
      document.getElementById("y5").style.top = t + h - document.getElementById("y2").offsetHeight + "px";
 
 
    }
  }else{
    window.onload = window.onscroll = window.onresize = function (e) {
//  alert("xx");
      var t = getViewportScrollY();
      var l = getViewportScrollX();
      var w = getViewportWidth();
      var h = getViewportHeight();
   //   document.getElementById("y5").style.left = l + w/2 - document.getElementById("y2").offsetWidth/2 + "px";
      document.getElementById("y5").style.left =  w/2 - document.getElementById("y2").offsetWidth/2 + "px";
//  document.title=navigator.userAgent + "_" + l + "_" + document.getElementById("y5").style.left + "_" + w;
      //document.getElementById("y5").style.top = t + h/2 - document.getElementById("y2").offsetHeight + "px";
}
  }
</script>
</head>
<body>
<p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p>
<p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p>
<p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p>
<p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p>
<p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p>
<p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p>
 
<div id="y1">左上角位置的内容</div>
<div id="y2">右上角位置的内容</div>
<div id="y3">左下角位置的内容</div>
<div id="y4">右下角位置的内容</div>
<div id="y5">下面居中位置的内容</div>
 
</body>
</html>

本文标签: css js 兼容 主流浏览器 各大浏览器 浮动代码 js漂浮代码

最新内容

回到顶部