一、jQuery检测浏览器window滚动条到达底部

jQuery获取位置和尺寸相关函数:
$(document).height()    获取整个页面的高度;
$(window).height()    获取当前也就是浏览器所能看到的页面的那部分的高度。这个大小在你缩放浏览器窗口大小时会改变,与document是不一样的;
scrollTop()    获取匹配元素相对滚动条顶部的偏移;
scrollLeft()    获取匹配元素相对滚动条左侧的偏移;
scroll([[data],fn])    当滚动条发生变化时触犯scroll事件。

jQuery检测滚动条到达底部代码:

$(document).ready(function() {
$(window).scroll(function() {
if($(document).scrollTop() <= 0) {
alert("滚动条已经到达顶部为0");
}
if($(document).scrollTop() >= $(document).height() - $(window).height()) {
alert("滚动条已经到达底部为" + $(document).scrollTop());
}
});
});

二、jQuery检测div中滚动条到达底部

首先需要理解几个概念:
scrollHeight:表示滚动条需要滚动的高度,即内部div,10000px;
scrollTop: 表示滚动条滚动的高度,可能大于外部div 500px;
也就是说scrollDiv的高度+scrollTop滚动的最大高度=scrollHeight。

$(document).ready(function() {
$("#scroll_div").scroll(function() {
var divHeight = $(this).height();
var nScrollHeight = $(this)[0].scrollHeight;
var nScrollTop = $(this)[0].scrollTop;
$("#input1").val(nScrollHeight);
$("#input2").val(nScrollTop);
$("#input3").val(divHeight);
if(nScrollTop + divHeight >= nScrollHeight) {
alert("到达底部了");
}
});
});

如果是异步加载数据,数据没加载完,又触犯了同一页的数据加载请求,通常是加一个flag

$(document).ready(function() {
var flag = false;
$("#scroll_div").scroll(function() {
if(flag) {
//数据加载中
return false;
}
var divHeight = $(this).height();
var nScrollHeight = $(this)[0].scrollHeight;
var nScrollTop = $(this)[0].scrollTop;
$("#input1").val(nScrollHeight);
$("#input2").val(nScrollTop);
$("#input3").val(divHeight);
if(nScrollTop + divHeight >= nScrollHeight) {
//请求数据
flag = true;
alert("到达底部了");
}
});
});

flag可以使用分页参数控制page,实现懒加载效果。

$(".daiwoyuejuan-table").scroll(function() {
if(page >= total_page) {
//数据加载中
return;
}
var divHeight = $(this).height();
var nScrollHeight = $(this)[0].scrollHeight;
var nScrollTop = $(this)[0].scrollTop;
//console.log(nScrollHeight+"--"+nScrollTop+"--"+divHeight);
if(nScrollTop + divHeight >= nScrollHeight) {
//请求数据
page = page + 1;
index();
}
});

jQuery——检测滚动条是否到达底部的更多相关文章

  1. jQuery检测滚动条(scroll)是否到达底部

    一.jQuery检测浏览器window滚动条到达底部 jQuery获取位置和尺寸相关函数: $(document).height()    获取整个页面的高度 $(window).height()   ...

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

    <script type="text/javascript"> $(document).ready(function(){     alert($(window).he ...

  3. jquery判断滚动条是否到底部

    clientHeight:这个元素的高度,占用整个空间的高度,所以,如果一个div有滚动条,那个这个高度则是不包括滚动条没显示出来的下面部分的内容.而只是单纯的DIV的高度. offsetHeight ...

  4. jquery 让滚动条处于div底部

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. jQuery判断滚动条滚到页面底部脚本

    原文地址 http://www.111cn.net/wy/jquery/61741.htm

  6. JQuery 判断滚动条是否到底部

    BottomJumpPage: function () { var scrollTop = $(this).scrollTop(); var scrollHeight = $(document).he ...

  7. Jquery 判断滚动条到达顶部或底部

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. jQuery判断滚动条是上滚还是下滚,且是否到达底部或顶部

    jQuery判断滚动条是上滚还是下滚,且是否到达底部或顶部:http://www.haorooms.com/post/jquery_scroll_upanddown //滚动条滚动加载更多内容 //判 ...

  9. jQuery 滚动条 滚动到底部(下拉到底部) 加载数据(触发事件、处理逻辑)、分页加载数据

    1.针对浏览器整个窗口滚动 主要代码: <script type="text/javascript"> ; function GetProductListPageFun ...

随机推荐

  1. [ Codeforces Round #549 (Div. 2)][D. The Beatles][exgcd]

    https://codeforces.com/contest/1143/problem/D D. The Beatles time limit per test 1 second memory lim ...

  2. robot framework中的timeout的关键词

    1.默认robotframework中的含有等待的关键词(如:Wait Until Element Is Enabled),未手动设置时默认该参数为5sec 2.关键词:sleep A)一般在调试的时 ...

  3. ionic 前端接收到后台推送来的消息后,显示在手机的通知栏上

    这里主要用到cordova提供的插件:(在app没有关闭的情况下只要有推送的消息就会有提醒,但是在app关闭的情况下就不会提示) 首先安装cordova-plugin-local-notificati ...

  4. 第一天Python

    一.开发语言 高级语言:Python  Java.PHP     高级语言--字节码(PHP适用于写网页) 低级语言:C.汇编--机器码(底层开发,根本,效率低) 二.Python种类 三.安装

  5. CentOS7版本区别和下载

    CentOS 7提供了三种ISO镜像文件的下载: DVD ISO 标准安装版,一般下载这个就可以了(推荐) Everything ISO 对完整版安装盘的软件进行补充,集成所有软件.(包含centos ...

  6. 自己动手开发智能聊天机器人完全指南(附python完整源码)

    一.前言 人工智能时代,开发一款自己的智能问答机器人,一方面提升自己的AI能力,另一方面作为转型AI的实战练习.在此把学习过程记录下来,算是自己的笔记. 二.正文 2.1 下载pyaiml 下载pya ...

  7. ANSI编码导致的乱码

    美帝那边的一个 donet 项目,打开后发现一段string里面各种乱码.一通折腾后发现是编码格式问题.这段string所在的类文件保存格式为ANSI,而不是VS默认的UTF-8. ANSI编码电脑是 ...

  8. PAT 甲级 1054 The Dominant Color (20 分)

    1054 The Dominant Color (20 分) Behind the scenes in the computer's memory, color is always talked ab ...

  9. vue打包

    npm installnpm run devnpm run build @types/node npm install --save @types/node npm install @types/no ...

  10. WordPress版微信小程序2.1.8版发布

    近来的工作比较多,同时也在思考这个项目未来的发展方向,尽管不断有新的wordpress站长,利用我的开源程序搭建了微信小程序,但个人对这个项目的热情日渐减少,促使我不断完善和维护这个开源项目的动力也再 ...