zoukankan      html  css  js  c++  java
  • IE6下处理fixed的手段和方法

       经常在网上可以看到那种滚动广告,它相对于页面静止,其实实现起来也很简单,只要用利用position:fixed这个属性就可以实现相对静止的效果,但是遗憾的是IE6并不支持这个属性。

     那么IE6下我们必须使用js的方法来解决它,思路无非就是

    1、获取页面的滚动高度,每次重新为元素的top值赋值,每次都加上相应的scrollTop值即可。

    首先我们需要了解几个概念:

    1、offsetHeight 我们可以简单的理解为元素的固有高度,一个元素形成的时候,浏览器其实已经帮我们计算出了这个盒模型,那么这个offsetHeight就是这个高度

    2、scrollTop 就是视图的滚动高度,当鼠标滑动的时候,页面会相对应的往上跑,那么这个相对于我们被“隐藏起来的区域”就是我们的滚动高度

    3、clientHeight 字面理解就是客户端高度,客户端就是我们的浏览器,那么他就是当前页面浏览器的可视高度,记住是可视,如果页面有一个被隐藏起来或者被缩小,那么不算是它的可是高度

    那么下面只需要两句话就可以解决刚才说的问题

    var oLeft = document.getElementById("left");
    var oRight = document.getElementById("right");
    var clientH=document.documentElement.clientHeight;
    var srcollY=document.documentElement.scrollTop||document.body.scollTop;
    
    oLeft.style.top=(clientH-oLeft.offsetHeight)/3+scrollY+"px";// offsetHeight是元素的元素高度
    oRight.style.top=(clientH-oRight.offsetHeight)/2+scrollY+"px";

    那么这段程序要相应的绑在页面的某些事件让 onload和onscroll事件上,这样一个跟随页面一起动的fixed效果就实现了

  • 相关阅读:
    checkbox的问题整理
    通过阅读ASP.NET MVC5 框架解密 路由的一点心得
    用JS实现避免重复加载相同js文件
    如何给一个网站设置子网站
    Linux环境下Python的安装过程
    linux下更新Python版本并修改默认版本
    【引用】如何读技术类书籍
    专业收藏_资格证书
    ASP.NET单元测试配置文件
    面试收集
  • 原文地址:https://www.cnblogs.com/caichongdd/p/2718316.html
Copyright © 2011-2022 走看看