zoukankan      html  css  js  c++  java
  • 滚动监听【转】【补】

    html页面

    部分参考自:

     jQuery实现滚动监听

     jQuery scroll事件实现监控滚动条分页示例

    Jquery判断滚动条是否到达窗口顶部和底部

    <HTML>
    <HEAD>
    <!--  meta 解释 :  http://www.haorooms.com/post/html_meta_ds -->
    <meta http-equiv="content-Type"content="text/html;charset=utf-8">
    <TITLE>scroll</TITLE>
    <style>
        .active{
            background-color:pink
        }
    </style>
    <!--
    <script type="text/javascript"    src="D:/OldPC/D/html/jQuery/jquery-3.1.0.js" ></script>
    -->
    <script type="text/javascript"    src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" ></script>
    
    <script type="text/javascript">
        $(function () {
            var currentID = '';
            var    targetID="";
                $(window).scroll(function(){
                $("#div1").text("$(window).scrollTop():"+$(window).scrollTop());
                $("#div2").text("$(document).scrollTop() [即scrollTop]:"+$(document).scrollTop());
                $("#div3").text("$(window).height():"+$(window).height());
                $("#div4").text("$(document).height():"+$(document).height());
                var scrollTop = $(this).scrollTop();//离顶部的滚动距离
                $('div').each(function() {
                    var $this = $(this);
                    console.log($this.text());
                    divTop = $this.offset().top;    //获取指定div离顶部高度
                    $("#div5").text("当前div楼层"+$this.attr("id")+"高度$this.offset().top [即divTop]:" + divTop+"$this.text()内容"+$this.text());
                    $("#div6").text("divTop - scrollTop :" + (divTop - scrollTop));
                    if ( divTop - scrollTop > 0) {//如果滚动的距离 > 所有相关div离顶部高度
                        currentID = $this.attr("id");    //获取当前id
                        targetID = currentID;
                        return false;
                    }else {
    
                    };
                })
                $("#div7").text("跳转的currentID:" +currentID +"-------跳转的currentID中内容:"+ $("#"+currentID).text());    
                //移除所有div样式
                $("div").removeClass("active");
                //给当前div添加样式
                $("#"+targetID).addClass("active");
            })
        });
    </script>
    </HEAD>
    <BODY>
    
        <span id="div1" style="top:100px;left:100px;position:fixed;background-color:yellow">ready go</span>
        <span id="div2" style="top:120px;left:100px;position:fixed;background-color:yellow">ready go</span>
        <span id="div3" style="top:140px;left:100px;position:fixed;background-color:yellow">ready go</span>
        <span id="div4" style="top:160px;left:100px;position:fixed;background-color:yellow">ready go</span>
        <span id="div5" style="top:180px;left:100px;position:fixed;background-color:yellow">ready go</span>
        <span id="div6" style="top:200px;left:100px;position:fixed;background-color:yellow">ready go</span>
        <span id="div7" style="top:250px;left:100px;position:fixed;background-color:pink">ready go</span>
    
    
        <div    id="id1"    >    1    </div>
        <div    id="id2"    >    2    </div>
        <div    id="id3"    >    3    </div>
        <div    id="id4"    >    4    </div>
        <div    id="id5"    >    5    </div>
        <div    id="id6"    >    6    </div>
        <div    id="id7"    >    7    </div>
        <div    id="id8"    >    8    </div>
        <div    id="id9"    >    9    </div>
        <div    id="id10"    >    10    </div>
        <div    id="id11"    >    11    </div>
        <div    id="id12"    >    12    </div>
        <div    id="id13"    >    13    </div>
        <div    id="id14"    >    14    </div>
        <div    id="id15"    >    15    </div>
        <div    id="id16"    >    16    </div>
        <div    id="id17"    >    17    </div>
        <div    id="id18"    >    18    </div>
        <div    id="id19"    >    19    </div>
        <div    id="id20"    >    20    </div>
        <div    id="id21"    >    21    </div>
        <div    id="id22"    >    22    </div>
        <div    id="id23"    >    23    </div>
        <div    id="id24"    >    24    </div>
        <div    id="id25"    >    25    </div>
        <div    id="id26"    >    26    </div>
        <div    id="id27"    >    27    </div>
        <div    id="id28"    >    28    </div>
        <div    id="id29"    >    29    </div>
        <div    id="id30"    >    30    </div>
        <div    id="id31"    >    31    </div>
        <div    id="id32"    >    32    </div>
        <div    id="id33"    >    33    </div>
        <div    id="id34"    >    34    </div>
        <div    id="id35"    >    35    </div>
        <div    id="id36"    >    36    </div>
        <div    id="id37"    >    37    </div>
        <div    id="id38"    >    38    </div>
        <div    id="id39"    >    39    </div>
        <div    id="id40"    >    40    </div>
        <div    id="id41"    >    41    </div>
        <div    id="id42"    >    42    </div>
        <div    id="id43"    >    43    </div>
        <div    id="id44"    >    44    </div>
        <div    id="id45"    >    45    </div>
        <div    id="id46"    >    46    </div>
        <div    id="id47"    >    47    </div>
        <div    id="id48"    >    48    </div>
        <div    id="id49"    >    49    </div>
        <div    id="id50"    >    50    </div>
        <div    id="id51"    >    51    </div>
        <div    id="id52"    >    52    </div>
        <div    id="id53"    >    53    </div>
        <div    id="id54"    >    54    </div>
        <div    id="id55"    >    55    </div>
        <div    id="id56"    >    56    </div>
        <div    id="id57"    >    57    </div>
        <div    id="id58"    >    58    </div>
        <div    id="id59"    >    59    </div>
        <div    id="id60"    >    60    </div>
        <div    id="id61"    >    61    </div>
        <div    id="id62"    >    62    </div>
        <div    id="id63"    >    63    </div>
        <div    id="id64"    >    64    </div>
        <div    id="id65"    >    65    </div>
        <div    id="id66"    >    66    </div>
        <div    id="id67"    >    67    </div>
        <div    id="id68"    >    68    </div>
        <div    id="id69"    >    69    </div>
        <div    id="id70"    >    70    </div>
        <div    id="id71"    >    71    </div>
        <div    id="id72"    >    72    </div>
        <div    id="id73"    >    73    </div>
        <div    id="id74"    >    74    </div>
        <div    id="id75"    >    75    </div>
        <div    id="id76"    >    76    </div>
        <div    id="id77"    >    77    </div>
        <div    id="id78"    >    78    </div>
        <div    id="id79"    >    79    </div>
        <div    id="id80"    >    80    </div>
        <div    id="id81"    >    81    </div>
        <div    id="id82"    >    82    </div>
        <div    id="id83"    >    83    </div>
        <div    id="id84"    >    84    </div>
        <div    id="id85"    >    85    </div>
        <div    id="id86"    >    86    </div>
        <div    id="id87"    >    87    </div>
        <div    id="id88"    >    88    </div>
        <div    id="id89"    >    89    </div>
        <div    id="id90"    >    90    </div>
        <div    id="id91"    >    91    </div>
        <div    id="id92"    >    92    </div>
        <div    id="id93"    >    93    </div>
        <div    id="id94"    >    94    </div>
        <div    id="id95"    >    95    </div>
        <div    id="id96"    >    96    </div>
        <div    id="id97"    >    97    </div>
        <div    id="id98"    >    98    </div>
        <div    id="id99"    >    99    </div>
        <div    id="id100"    >    100    </div>
    
    
    
    </BODY>
    </HTML>

    滚动效果

     

    一、原生js通过window.onscroll监听

    //window.onscroll = function() {//为了保证兼容性,这里取两个值,哪个有值取哪一个  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
      //scrollTop就是触发滚轮事件时滚轮的高度
    }
    

    二、Jquery通过$(window).scroll()监听

    $(window).scroll(function(){//为了保证兼容性,这里取两个值,哪个有值取哪一个  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;  //scrollTop就是触发滚轮事件时滚轮的高度}); 
    

    监听到了滚轮事件,就可以实时地获取到滚轮的高度,通过判断滚轮高度等等一些流程控制,可以实现一些基于滚轮的特效,如:滚轮到底时异步加载数据、滚轮高度为0时头部固定而到一定高度时头部fixed浮动等等一些特效

     引用自:引用自: http://www.codesky.net/article/201706/189495.html

    其它参考:

     js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的

  • 相关阅读:
    散列
    AVL树的单旋与双旋
    Ubuntu系统目录
    os x文件系统结构简介
    c语言静态局部变量
    创建J2EE 5.0工程后,JSTL不能使用解决方法
    mysql
    指针
    servlet 访问项目
    c数组
  • 原文地址:https://www.cnblogs.com/whatlonelytear/p/7123444.html
Copyright © 2011-2022 走看看