jquery scroll()滾動條事件


最近做項目用了到scroll滾動條事件,花了很多時間做搜索,沒有很好的先整理思考后再去搜索,做編碼事件時,沒有事先考慮清楚,理清思路,先做簡單的測試成功后,再完成其他的實現。

1.scroll()事件

當用戶滾動指定的元素時,會發生scroll事件。適用於所有可滾動的元素和window對象(瀏覽器窗口)

$(select).scroll([Data],fn);

當(瀏覽器窗口)頁面滾動條變化時,執行的函數,JQuery代碼:

$(window).scroll(function(){

  //do something...

});

 

2.scrollTop 獲取匹配元素相對滾動條頂部的偏移

scrollTop(val)

獲取頁面滾動條的具體值:$(document).scrollTop();

設置相對滾動條的偏移值:$(document).scrollTop(300);

 

3.offset() 獲取匹配元素在當前視口的相對偏移。

offset([coordinates])

獲取元素的相對偏移:$(".bg02").offset().top;

設置元素的相對偏移:$(".bg02").offset({"top":1000, "left":0});

 

4.需求:當(瀏覽器窗口)頁面滾動條值小於300px時隱藏div,大於300px時顯示div

$(window).scroll(function(){

  //var ds = document.documetElement.scrollTop || document.body.scrollTop;  //js兼容獲取滾動條

  if($(document).scrollTop() < 300){

    $(".position").css({"display":"none"});

  }else{

    $(".position").css({"display":"block"});

  }

});

 

5.返回頂部和元素定位(1-10)

$(".position ul li").click(function(){

  var num_index = $(this).index() + 1;

      if(num_index < 10){

      $("html,body").animate({scrollTop:$(".bg0" + num_index).offset().top},800);

      }else if(num_ineex ==10){

    $("html,body").animate({$(".bg"+num_index).offset().top},800);

  }else if(num_index == 11){

    $("html,body").animate({scrollTop:0},800);

      }else{

    return false;

      }

});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM