javascript中各個高度與寬度區分

js獲取文檔的高度:Math.max(document.body.scrollHeight,document.documenElement.scrollHeight);ajax

js獲取瀏覽器可視區域的高度: Math.max(document.body.clientHeight, document.documentElement.clientHeight) // window.innerHeight;瀏覽器

js獲取滾動條高度:document.documentElement.scrollTop || document.body.scrollTop;app

 js獲取div到文檔頂部的高度:document.getElementById("div").offsetTop;this

 

獲取div距離文檔(body)頂部的高度 $(「#inner」).offset().topurl

獲取div距離父元素頂部的距離 $(「#inner」).position().topspa

獲取div距離窗口(window)頂部的距離 (「#inner」).offset().top - (「body」).scrollTop()code

 

Jquery獲取文檔的高度:$(document).height();blog

Jquery獲取瀏覽器可視區域的高度:$(window).height();事件

滾動條滾動高度:$(window).scrollTop();rem

當網頁高度不足瀏覽器窗口時$(document).height()返回的是$(window).height()。

寬度同高度!

 

下面是一個滾動加載更多的例子:

 1 var page=1;  
 2         var finished=0;  
 3         var sover=0;  //是否滿屏
 4         var subjectids = ${subjectids};  
 5         var len = subjectids.length;
 6         //若是屏幕未到整屏自動加載下一頁補滿  
 7         var setdefult=setInterval(function (){  
 8             if(sover==1){  
 9                 clearInterval(setdefult);     
10             }else if($(".dvd-box").height()< window.innerHeight || len<4) { 
11                 loadmore($(window),true);  
12             } else  
13                 clearInterval(setdefult);  
14         },500);             
15           
16         //加載更多  
17         function loadmore(obj,flag){ 
18             //flag,未滿屏狀況下。
19             if(finished==0 && sover==0){  
20                 var scrollTop = $(obj).scrollTop();  
21                 var scrollHeight = $(document).height();  //文檔高度               
22                 var windowHeight = window.innerHeight;//可視區高度
23 
24                 if($(".loadmore").length==0) {  
25                     var txt='<div class="loadmore"><span class="loading"></span>加載中..</div>'  
26                     $(".dvd-box").append(txt);  
27                 }  
28                 if (flag || scrollHeight - scrollTop - windowHeight <=500 ) {  
29                     //此處是滾動條到底部時候觸發的事件,在這裏寫要加載的數據,或者是拉動滾動條的操做  
30                     //防止未加載完再次執行  
31                     finished=1;  
32                         $.ajax({  
33                             type: 'GET',  
34                             url: "alb/index/"+subjectids[page],  
35                             success: function(data){  
36                                 if(data==""){  
37                                     sover = 1;                        
38                                     if (page == 1) {  
39                                         $(".loadover").remove();  
40                                     }  
41                                 }else{
42                                     setTimeout(function(){  
43                                        /*  $(".loadmore").remove(); */  
44                                         $('.dvd-box .loadmore').before(data); 
45                                         LazyLoad();
46                                         imgError();
47                                         page+=1;  
48                                         finished=0;  
49                                         //最後一頁  
50                                         if(page==len){  
51                                             sover=1;  
52                                             $(".loadmore").remove();  
53                                         }  
54                                     },100);  
55                                 }  
56                             },  
57                             error: function(xhr, type){  
58                                 console.log('Ajax error!');  
59                             }  
60                         }); 
61                        
62                 }  
63             }  
64         }  
65         //頁面滾動執行事件  
66         $(window).scroll(function (){  
67             loadmore($(this)); 
68         });  
相關文章
相關標籤/搜索