<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • JavaScript 獲取窗口屬性

    2018-8-3    seo達人

    如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

    獲取窗口屬性

    • 查看滾動條的滾動距離 
      • window.pageXOffset/pageYOffset 
        • IE8及IE8以下不兼容
      • document.body/documentElement.scrollLeft/scrollTop 
        • 兼容性比較混亂,同時取兩個值相加,因為不可能存在兩個同時有值
      • 封裝兼容性方法,求滾動輪滾動離getScrollOffset()

    為了解決兼容性的問題,我們來封裝一個函數:

    <script type="text/javascript">
        function getScrollOffset() {
            if(window.pageXOffset) { x : window.pageXoffset, y : window.pageYoffset }
            else{
                return { x : document.body.scrollLeft + document.documentElement.scrollLeft, y : document.body.scrollTop + document.documentElement.scrollTop,
                }
            }
        }
    </script>
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 查看視口的尺寸 
      • window.innerWidth/innerHeight 
        • IE及IE8以下不兼容
      • document.documentElement.clientWidth/clientHeight 
        • 標準模式下,任意瀏覽器都兼容
      • document.body.clientWidth/clientHeight 
        • 適用于怪異模式(向后兼容)下的瀏覽器
      • 封裝兼容性方法,返回瀏覽器視口尺寸getViewportOffset()

    為了解決兼容性的問題,我們來封裝一個函數:

    <script type="text/javascript"> function getSViewportOffset() { if(window.innerWidth) { return {
                    w : window.innerWidth,
                    h : window.innerHeight
                }
            }else{ if(document.compatMode ==="BackCompat") { return {
                        w : document.body.clienWidth,
                        h : document.body.clientHeight
                    }
                }else{ return {
                        w : document.documentElement.clientWidth,
                        h : document.documrntElement.clientHeight
                    }
                }
        }
    </script>
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 查看元素的幾何尺寸

      • domEle.getBoundingClientRect();
      • 兼容性很好
      • 該方法返回一個對象,對象里面有left,top,right,bottom等屬性。left和top代表該元素左上角的X和Y坐標,right和bottom代表元素右下角的X和Y坐標。
      • height和width屬性老版本IE不顯示(人為解決:分別相減一下就能得出)
      • 返回的結果并不是”實時的”
    • 讓滾動條滾動

      • window上有三個方法
      • scroll(x,y)在x軸、y軸上滾動的位置,scrollTo(x,y) 
        讓滾動條滾動到當前位置,而不是累加距離(這兩種方法是完全一樣的)
      • scrollBy();累加滾動距離
      • 三個方法功能類似,用法都是將x,y坐標傳入。即實現讓滾動條滾動到當前位置。
      • 區別:scrollBy()會在之前的數據基礎之上做累加。
      • eg:利用scroll()頁面定位功能。
      • eg:利用scrollBy()快速閱讀功能。

    練習: 
    做一個小閱讀器,會自動翻頁。

    <!DOCTYPE html> <html> <head> <title>Document</title> </head> <body> 文本內容 <div style="width:100px;height:100px;background-color:orange;color:#fff;font-size:40px;text-align:center;line-height:100px;position:fixed;bottom:200px;right:50px;opcity:0.5;">start</div> <div style="width:100px;height:100px;background-color:orange;color:green;font-size:40px;text-align:center;line-height:100px;position:fixed;bottom:50px;right:50px;opcity:0.5;">stop</div> </body> <script type="text/javascript"> var start = document.getElement.getElementsByTagName('div')[0]; var stop = document.getElement.getElementsByTagName('div')[1]; var timer = 0; var key = true; //加鎖,防止連續點start產生累加加速 start.onclick = function() { if(key) {
                timer = setInterval(function() { window.scollBy(0,10);
                },100);
                key = false;
            }
        }
        stop.onclick = function() { clearInterval(timer);
            key = true;
        } </script>
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 国产精品自在在线午夜福利| 日韩精品一区二区三区中文字幕 | 久久精品国产免费| 精品水蜜桃久久久久久久| 91麻豆精品国产自产在线观看一区 | 久久国产热这里只有精品| 99精品视频在线| 在线中文字幕精品第5页| 国产欧美日韩精品专区| 久久精品成人免费看| 精品性影院一区二区三区内射| 欧美精品人爱a欧美精品| www亚洲欲色成人久久精品| 69久久精品无码一区二区| 无码国产精品一区二区免费16| 久久久久无码精品| 国产精品无码不卡一区二区三区| 精品一区二区三区四区| 国产精品国色综合久久| 久久夜色精品国产噜噜麻豆| 午夜精品久久久久9999高清| 久久国产精品国语对白| 国产精品亚洲一区二区在线观看| 老司机91精品网站在线观看| 99国产欧美久久久精品蜜芽| 久热这里只有精品12| 亚洲AV日韩精品久久久久| 亚洲精品永久在线观看| 日韩精品中文字幕第2页| 久久99精品久久久久久秒播| 国内精品免费久久影院| 国产乱子伦精品免费视频| 国产精品午夜久久| 国产伦精品一区二区免费| 国产精品亚洲二区在线观看| 国产精品嫩草影院一二三区| 国产精品国产三级国产潘金莲| 99久久精品久久久久久清纯| 99re66在线观看精品免费| 中文字幕精品一区二区日本| 2021国产三级精品三级在专区|