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

兼容各主流浏览器的浮动代码 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漂浮代码

最新内容

  • 行业老大“体检门”调查 “冒牌”医生

    美年大健康体检中心。 (东方IC/图) (本文首发于2018年8月16日《南方周末》) 美年富海存在部分B超检查报告未经医生陈飞雪审核,由其他医生以陈飞雪名义发出报告的情况。 美年2

  • 软文推广推广和硬文推广相比主要优势在哪里

    孔子在《系辞》中说:一阴一阳为之道。自然界中存在着阴阳,是对立统一的阴阳两种能量,是构成万事万物的基础,世界上存在的一切都是由基本的阴阳能量所构成的。基于此,有硬

  • NASA 的 InSight 探测器顺利升空前往火星

    这是第一个以研究火星内部构造为目标的探测器。 就在稍早的时候,一支 ULA 的 Atlas V 火箭带着 NASA 最新的 InSight 探测器,顺利由美国西岸的范登堡空军基地发射,启程前往火星。InSi

  • 苹果杀熟还是被杀熟?

    近日大数据杀熟的消息受到多方高度关注,一波互联网公司中招之余,苹果公司也不幸躺枪,关于苹果手机应用内购比安卓贵的争议话题又被挖坟。针对相关话题与质疑,日前苹果公司

  • 外媒:高通准备退出服务器芯片市场

    5月8日早间消息,据彭博社报道,高通准备退出服务器芯片业务。 据了解,高通是去年 11 月正式进军服务器芯片市场的,高通当时涉足服务器芯片,原本是为了打破英特尔在这个利润丰

回到顶部