zoukankan      html  css  js  c++  java
  • [No000067]Js中获取当前页面的滚动条纵坐标位置scrollTop

      三种方法任选其一:

    var sTop = document.body.scrollTop+document.documentElement.scrollTop;
    var sTop = document.documentElement.scrollTop || document.body.scrollTop;
    var sTop = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;

    造成的原因:

    document.body.scrollTopxhtml标准网页或者更简单的说是带<!DOCTYPE ..>标签的页面里得到的结果是0,如果不要此标签则一切正常。

    使用document.documentElement来取代document.body,:在javascript||是个好东西,除了能用在if等条件判断里,还能用在变量赋值上。

    chrome不认识document.documentElement.scrollTop!如果有文档声明(即网页第一句的docType)的情况下,标准浏览器是只认识documentElement.scrollTop的,但chrome虽然我感觉比firefox还标准,但却不认识这个,在有文档声明时,chrome也只认识document.body.scrollTop.

    由于在不同情况下,document.body.scrollTopdocument.documentElement.scrollTop都有可能取不到值。

    相反,如果不做声明的话,document.documentElement.scrollTop反而会显示为0

    因为document.body.scrollTopdocument.documentElement.scrollTop两者有个特点,就是同时只会有一个值生效。比如document.body.scrollTop能取到值的时候,document.documentElement.scrollTop就会始终为0;反之亦然。

    这两个值总会有一个恒为0,所以不用担心会对真正的scrollTop造成影响。

  • 相关阅读:
    python的函数修饰符(装饰器)
    hdu1175连连看(dfs+细节)
    hdu2553N皇后问题(dfs,八皇后)
    hdu1045Fire Net(经典dfs)
    hdu1050Moving Tables(贪心)
    hdu2037今年暑假不AC(贪心,活动安排问题)
    hdu1052Tian Ji -- The Horse Racing(贪心,细节多)
    hdu1009FatMouse' Trade(贪心)
    hdu1455Sticks(经典dfs+剪枝)
    hdu2509Be the Winner(反nim博弈)
  • 原文地址:https://www.cnblogs.com/Chary/p/No000067.html
Copyright © 2011-2022 走看看