jq:css
獲取瀏覽器顯示區域(可視區域)的高度 : $(window).height(); 獲取瀏覽器顯示區域(可視區域)的寬度 : $(window).width(); 獲取頁面的文檔高度 $(document).height(); 獲取頁面的文檔寬度 : $(document).width(); 瀏覽器當前窗口文檔body的高度: $(document.body).height(); 瀏覽器當前窗口文檔body的寬度: $(document.body).width(); 獲取滾動條到頂部的垂直高度 (即網頁被捲上去的高度) $(document).scrollTop(); 獲取滾動條到左邊的垂直寬度 : $(document).scrollLeft(); 獲取或設置元素的寬度: $(obj).width(); 獲取或設置元素的高度: $(obj).height(); 某個元素的上邊界到body最頂部的距離:obj.offset().top;(在元素的包含元素不含滾動條的狀況下) 某個元素的左邊界到body最左邊的距離:obj.offset().left;(在元素的包含元素不含滾動條的狀況下) 返回當前元素的上邊界到它的包含元素的上邊界的偏移量:obj.offset().top(在元素的包含元素含滾動條的狀況下) 返回當前元素的左邊界到它的包含元素的左邊界的偏移量:obj.offset().left(在元素的包含元素含滾動條的狀況下)
js:html
document.documentElement.scrollTop //firefox document.documentElement.scrollLeft //firefox document.body.scrollTop //IE document.body.scrollLeft //IE
等同於:jquery
$(window).scrollTop() 瀏覽器
$(window).scrollLeft()this
網頁工做區域的高度和寬度
firefox
document.documentElement.clientHeight// IE firefox
等同於:code
$(window).height()htm
元素距離文檔頂端和左邊的偏移值
blog
obj.offsetTop //IE firefox obj.offsetLeft //IE firefox
等同於:ip
obj.offset().top
obj.offset().left
簡單實例(監控元素在可見視圖中)
效果:當元素出如今可見區域時,改變其css樣式(背景色變紅);
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>監控元素出如今視圖中</title> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <style> p { height: 30px; line-height: 30px; background: #f3f3f3; opacity: 0; } </style> </head> <body> <div class="main"> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> <p>你好,china!</p> </div> </body> <script> function Show() { var Height = $(window).height(); $('p').not('.none').each(function(ind) { var Top = $(this).offset().top; //元素距離頂部距離 var scroll = $(document).scrollTop(); //滾動高度 console.log(Top + ' ' + scroll); if(Top - Height - scroll <= 0) { setTimeout(function() { $('p').not('.none').eq(ind).addClass('show').css('background', 'red').animate({ opacity: 1 }, 500); }, 200); } }); } $(function() { var Height = $(window).height(); //窗口高度 console.log('可視高度:' + Height); $('.main').find('*').each(function() { var Top = $(this).offset().top; if(Top - Height <= 0) { $(this).addClass('none').css({ 'background': '#09f', 'opacity': 1 }); } }); $(window).scroll(function() { Show(); }) }) </script> </html>