最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS中完美兼容各大瀏覽器的scrolltop方法

 更新時間:2015年04月17日 14:17:58   投稿:hebedich  
最近用到scrolloTop()想去獲取滾動條距離頂部的距離,結果只有chrome下面可以正常的獲取scrollTop,ff和ie下這個值都等于0,使得許多效果比如屏幕滾動等等均無法正常實現(xiàn)。究其原因是scrollTop()在各個瀏覽器中的兼容性問題,今天我們就來詳細探討下。

1、各瀏覽器下 scrollTop的差異

IE6/7/8/9/10:

對于沒有doctype聲明的頁面里可以使用  document.body.scrollTop 來獲取 scrollTop高度 ;
對于有doctype聲明的頁面則可以使用 document.documentElement.scrollTop  ;

Safari:

safari 比較特別,有自己獲取scrollTop的函數(shù) : window.pageYOffset ;

Firefox:

火狐等等相對標準些的瀏覽器就省心多了,直接用 document.documentElement.scrollTop ;

2、獲取scrollTop值

完美的獲取scrollTop 賦值短語 :

復制代碼 代碼如下:

var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

通過這句賦值就能在任何情況下獲得scrollTop 值。

仔細觀察這句賦值,你發(fā)現(xiàn)啥了沒??
沒錯, 就是 window.pageYOffset  (Safari)   被放置在 || 的中間位置。

因為當 數(shù)字0 與 undefine 進行 或運算時,系統(tǒng)默認返回最后一個值。即或運算中 0 == undefine ;

當頁面滾動條剛好在最頂端,即scrollTop值為 0 時,IE 下 window.pageYOffset  (Safari) 返回為 undefine ,此時將 window.pageYOffset  (Safari) 放在或運算最后面時, scrollTop 返回 undefine ,  undefine 用在接下去的運算就會報錯咯。

而其他瀏覽器 無論 scrollTop 賦值或運算順序如何都不會返回 undefine.  可以安全使用..

所以說到頭還是IE的問題咯. 杯具…

精神有點恍惚,不知道有沒有表達清楚。
不過最后總結出來這句實驗過OK,大家放心使用。

復制代碼 代碼如下:

var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

這是完美的獲取scrollTop賦值語句。

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關文章

  • JavaScript 防抖和節(jié)流詳解

    JavaScript 防抖和節(jié)流詳解

    這篇文章主要介紹了JavaScript 防抖和節(jié)流,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-09-09
  • js實現(xiàn)文件上傳表單域美化特效

    js實現(xiàn)文件上傳表單域美化特效

    本文為大家分享的是一款效果非??岬奈募蟼鞅韱斡蛎阑匦?。有7種不同的美化文件上傳域的效果,很時尚,感興趣的小伙伴們可以參考一下
    2015-11-11
  • JavaScript新手必看之var在for循環(huán)中的坑

    JavaScript新手必看之var在for循環(huán)中的坑

    var這個關鍵字在JS當中是相當常用的,但同時配合到for循環(huán)的話會出現(xiàn)不符合預期的運行結果,所以本文就來為大家講講如何避免這種情況的出現(xiàn)
    2023-05-05
  • js頁面跳轉的問題(跳轉到父頁面、最外層頁面、本頁面)

    js頁面跳轉的問題(跳轉到父頁面、最外層頁面、本頁面)

    js頁面跳轉:本頁面跳轉,上一層頁面跳轉,最外層的頁面跳轉,下面為大家大家分享下不同頁面之家的跳轉問題,感興趣的朋友可以學習下
    2013-08-08
  • JS快速實現(xiàn)簡單計算器

    JS快速實現(xiàn)簡單計算器

    這篇文章主要為大家詳細介紹了JS快速實現(xiàn)簡單計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • JavaScript實現(xiàn)網(wǎng)頁留言板功能

    JavaScript實現(xiàn)網(wǎng)頁留言板功能

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)網(wǎng)頁留言板功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 小程序?qū)崿F(xiàn)長按保存圖片的方法

    小程序?qū)崿F(xiàn)長按保存圖片的方法

    這篇文章主要介紹了小程序?qū)崿F(xiàn)長按保存圖片的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Typescript實現(xiàn)棧的方法示例

    Typescript實現(xiàn)棧的方法示例

    本文主要介紹了Typescript實現(xiàn)棧的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • JS區(qū)分瀏覽器頁面是刷新還是關閉

    JS區(qū)分瀏覽器頁面是刷新還是關閉

    在web開發(fā)中我們經(jīng)常各種各樣的需求。今天小編給大家介紹JS區(qū)分瀏覽器頁面是刷新還是關閉標簽頁,非常實用,感興趣的童鞋參考下吧
    2016-04-04
  • leaflet基本使用示例教程

    leaflet基本使用示例教程

    這篇文章主要介紹了leaflet基本使用示例教程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12

最新評論

龙游县| 东至县| 福海县| 平泉县| 武功县| 怀仁县| 精河县| 昌都县| 辛集市| 福贡县| 桂阳县| 阿拉善左旗| 阜新| 南皮县| 绥江县| 米脂县| 民县| 清徐县| 旌德县| 濉溪县| 贺兰县| 温州市| 南宁市| 驻马店市| 博野县| 滨海县| 东丰县| 如皋市| 托克托县| 上虞市| 鹿泉市| 沙湾县| 永登县| 竹山县| 衢州市| 家居| 环江| 白朗县| 淄博市| 松原市| 宁陵县|