您现在的位置: 365建站网 > 365文章 > jquery/js滚动条事件scroll的用法

jquery/js滚动条事件scroll的用法

文章来源:365jz.com     点击数:1675    更新时间:2019-06-19 23:34   参与评论

js滚动条事件:


<div> 元素滚动时执行 JavaScript

</>code

  1. <div onscroll="myFunction()">

onscroll 事件在元素滚动条在滚动时触发。


提示: 使用 CSS overflow 样式属性来创建元素的滚动条。


jquery滚动条事件:

对元素滚动的次数进行计数:

</>code

  1. $("div").scroll(function() {
  2.   $("span").text(x+=1);
  3. });


定义和用法

当用户滚动指定的元素时,会发生 scroll 事件。


scroll 事件适用于所有可滚动的元素和 window 对象(浏览器窗口)。


scroll() 方法触发 scroll 事件,或规定当发生 scroll 事件时运行的函数。

最近做项目用了到scroll滚动条事件,花了很多时间做搜索,没有很好的先整理思考后再去搜索,做编码事件时,没有事先考虑清楚,理清思路,先做简单的测试成功后,再完成其他的实现。

1.scroll()事件

当用户滚动指定的元素时,会发生scroll事件。适用于所有可滚动的元素和window对象(浏览器窗口)

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

当(浏览器窗口)页面滚动条变化时,执行的函数,JQuery代码:

</>code

  1. $(window).scroll(function(){
  2.   //do something...
  3. });

 

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

</>code

  1. $(window).scroll(function(){
  2.   //var ds = document.documetElement.scrollTop || document.body.scrollTop;  //js兼容获取滚动条
  3.   if($(document).scrollTop() < 300){
  4.     $(".position").css({"display":"none"});
  5.   }else{
  6.     $(".position").css({"display":"block"});
  7.   }
  8. });

 

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

</>code

  1. $(".position ul li").click(function(){
  2.   var num_index = $(this).index() + 1;
  3.       if(num_index < 10){
  4.       $("html,body").animate({scrollTop:$(".bg0" + num_index).offset().top},800);
  5.       }else if(num_ineex ==10){
  6.     $("html,body").animate({$(".bg"+num_index).offset().top},800);
  7.   }else if(num_index == 11){
  8.     $("html,body").animate({scrollTop:0},800);
  9.       }else{
  10.     return false;
  11.       }
  12. });


js例子:

</>code

  1. <a id="scrollup" href="#top" style="position:fixed;z-index: 999;display: none;">^</a>
  2. #scrollup{
  3.         background: #777;
  4.         color:#eee;
  5.         font-size: 40px;
  6.         text-align: center;
  7.         text-decoration: none;
  8.         bottom:65px;
  9.         right:20px;
  10.         overflow: hidden;
  11.         width:46px;
  12.         height:46px;
  13.         border:none;
  14.         opacity:.8;
  15.         &:active{opacity:.7;}
  16.     }
  17. <script type="text/javascript">
  18.          window.onscroll= function(){
  19.                 //变量t是滚动条滚动时,距离顶部的距离
  20.                 var t = document.documentElement.scrollTop||document.body.scrollTop;
  21.                 var scrollup = document.getElementById('scrollup');
  22.                 //当滚动到距离顶部200px时,返回顶部的锚点显示
  23.                 if(t>=200){
  24.                     scrollup.style.display="block";
  25.                 }else{          //恢复正常
  26.                     scrollup.style.display="none";
  27.                 }
  28.             }
  29. </script>


如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (1675人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号