最近在做項(xiàng)目的時(shí)候遇到需要用js獲取滾動(dòng)條距離窗口頂端的距離和js獲取瀏覽器可視化窗口的大小,在這兒做一個(gè)整理保存:
一、jQuery獲取的相關(guān)方法
- jquery 獲取滾動(dòng)條高度
-
- 獲取瀏覽器顯示區(qū)域的高度 :
- $(window).height();
- 獲取瀏覽器顯示區(qū)域的寬度 :
-
- $(window).width();
- 獲取頁(yè)面的文檔高度 :
- $(document).height();
- 獲取頁(yè)面的文檔寬度 :$(document).width();
-
- 獲取滾動(dòng)條到頂部的垂直高度 :
-
- $(document).scrollTop();
- 獲取滾動(dòng)條到左邊的垂直寬度 :
-
- $(document).scrollLeft();
-
- 計(jì)算元素位置和偏移量:
-
- $(id).offset();
-
- offset方法是一個(gè)很有用的方法,它返回包裝集中第一個(gè)元素的偏移信息。默認(rèn)情況下是相對(duì)body的偏移信息。結(jié)果包含 top和left兩個(gè)屬性。
-
- offset(options, results)
- options.relativeTo 指定相對(duì)計(jì)
- 算偏移位置的祖先元素。這個(gè)元素應(yīng)該是relative或absolute定位。省略則相對(duì)body。
- options.scroll 是否把
- 滾動(dòng)條計(jì)算在內(nèi),默認(rèn)TRUE
- options.padding 是否把padding計(jì)算在內(nèi),默認(rèn)false
- options.margin
- 是否把margin計(jì)算在內(nèi),默認(rèn)true
- options.border 是否把邊框計(jì)算在內(nèi),默認(rèn)true
-
-
但是我在使用jQuery的方法的時(shí)候在IE6上會(huì)發(fā)生不兼容現(xiàn)象。
二、使用js獲取的相關(guān)方法
- //回到頁(yè)面頂部
- $("#goTotop").click(function(){
- $('body,html').animate({scrollTop:0},1500); //點(diǎn)擊按鈕讓其回到頁(yè)面頂部
- });
-
- $(window).scroll(function() {
- var yheight1=window.pageYOffset; //滾動(dòng)條距頂端的距離
- var yheight=getScrollTop(); //滾動(dòng)條距頂端的距離
- var height =document.documentElement.clientHeight//瀏覽器可視化窗口的大小
- var top=parseInt(yheight)+parseInt(height)-217;
- var divobj=$(".kf");
- divobj.attr('style','top:'+top+'px;');
- })
-
- /**
- * 獲取滾動(dòng)條距離頂端的距離
- * @return {}支持IE6
- */
- function getScrollTop() {
- var scrollPos;
- if (window.pageYOffset) {
- scrollPos = window.pageYOffset; }
- else if (document.compatMode && document.compatMode != 'BackCompat')
- { scrollPos = document.documentElement.scrollTop; }
- else if (document.body) { scrollPos = document.body.scrollTop; }
- return scrollPos;
- }
getScrollTop()使用這個(gè)方法在IE、谷歌和火狐上都能獲取,當(dāng)然這不是我原創(chuàng)的,也是有哥們貼網(wǎng)上的,我只是在此收藏整理一下。
|