經過獲取 scrollTop (滾動條頂部)的偏移值,咱們能夠作5個事情,也是平時項目中常常用到的幾個;javascript
// ① 此處只是頁面加載時 不能實時監控 $(function(){ if ( $(window).scrollTop() > 50 ){ alert(50) } })
$(function(){ $(window).scroll(function () { // ② 監控頁面滑動變化時 作判斷 if ($(window).scrollTop() > 0) { $("#div1").show(300); } if ($(window).scrollTop() > 300) { $("#div2").show(300); } if ($(window).scrollTop() > 600) { $("#div3").show(300); } }) });
//③ 經過按鈕帶到錨點位置 $("#go_top").click(function(){ $("html,body").animate({scrollTop:$("body").offset().top},500) })
js以下css
$(function(){ $(window).scroll(function () { var this_obj= $(".nav-warp") if ( $(window).scrollTop() > 50 ){ this_obj.addClass("nav-scrolling"); } else{ this_obj.removeClass("nav-scrolling"); } }) })
css以下: html
.nav-scrolling{ top:0px; position: fixed;}
/******獲取地址欄參數滑動到指定位置--開始******/ //傳遞方法:XXXX.html?id=messages //獲取參數 function UrlSearch() { var name,value; var str=location.href; //取得整個地址欄 var num=str.indexOf("?") str=str.substr(num+1); //取得全部參數 stringvar.substr(start [, length ] var arr=str.split("&"); for(var i=0;i < arr.length;i++){ num=arr[i].indexOf("="); if(num>0){ name=arr[i].substring(0,num); value=arr[i].substr(num+1); this[name]=value; } } } //執行方法 var Request=new UrlSearch(); var this_id=Request.id; console.log(this_id); if (this_id=="messages") { $("html,body").animate({scrollTop:$("#current_messages").offset().top},500) } /******獲取地址欄參數滑動到指定位置--結束******/
html以下:java
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <table width="100%"> <tr> <td height="500" style="background:blue;"></td> </tr> <tr> <td height="800" style="background: green;" id="current_messages"></td> </tr> </table> </body> </html> <!-- 好比說把這個代碼存爲demo.html 那麼我要訪問demo.html?id=test 這個時候就取到test的值了 -->
備註:this
第一種狀況:spa
.list-content{ width: 100%; padding-right: 15px; box-sizing: border-box; clear: both; overflow: hidden;} 若是你的容器高度不肯定,後面必定要加上overflow: hidden; 讓其撐起來,不然,經過指定錨點的定位會找不許,由於實際高度js算不出來。插件
第二種狀況:code
在用到第三方插件時,有些樣式會將html高度設置爲100%;這樣會把srollTop滑動無效,解決辦法:用媒體查詢,在大屏時,不設html的高度值。htm