web前端|js教程
jquery,滚动,判断
web前端-js教程
单纯判断滚动条方向
经典入门小程序源码(73实例),ubuntu是什么代码,tomcat线程池多少个,erp系统爬虫,php合成文字教程,上海seo搜索lzw
房产中介源码,vscode 运行asp,ubuntu系统的自带桌面,tomcat软链接,sqlite如何下载教程,网站插件侵权吗,前端语言学习框架,爬虫采集亚马逊商品,zend php解密,深圳网站seo关键词,国外的投票网站模板,可视化网页编辑代码,bootstrap手机wap模板,php登陆页面完整代码下载,vs 图书管理系统,团购开源小程序lzw
function scroll( fn ) { var beforeScrollTop = document.body.scrollTop, fn = fn || function() {}; window.addEventListener("scroll", function() { var afterScrollTop = document.body.scrollTop,delta = afterScrollTop - beforeScrollTop; if( delta === 0 ) return false; fn( delta > 0 ? "down" : "up" ); beforeScrollTop = afterScrollTop; }, false);}
调用方法:
php 源码 oa,ubuntu 迅捷usb.,python爬虫实战模拟,php 匹配_,上线了 seolzw
scroll(function(direction) { console.log(direction) });
以上方法手机苹果浏览器事件会跳动,解决方法及代码改进
scrollDirect: function (fn) { var beforeScrollTop = document.body.scrollTop; fn = fn || function () { }; window.addEventListener("scroll", function (event) { event = event || window.event; var afterScrollTop = document.body.scrollTop; delta = afterScrollTop - beforeScrollTop; beforeScrollTop = afterScrollTop; var scrollTop = $(this).scrollTop(); var scrollHeight = $(document).height(); var windowHeight = $(this).height(); if (scrollTop + windowHeight > scrollHeight - 10) { //滚动到底部执行事件fn(up);return; } if (afterScrollTop $(document.body).height - 10) {fn(up); } else {if (Math.abs(delta) 0 ? "down" : "up"); } }, false);}
调用方法:
var upflag=1; var downflag= 1; //scroll滑动,上滑和下滑只执行一次!scrollDirect(function (direction) { if (direction == "down") {if (downflag) { $(".footer_wrap").slideUp(200); downflag = 0; upflag = 1;} } if (direction == "up") {if (upflag) { $(".footer_wrap").slideDown(200); downflag = 1; upflag = 0;} } });
滚动条滚动到底部和头部判断
其实上面的函数中已经有判断,下面再列一下!看如下函数!
BottomJumpPage: function () {var scrollTop = $(this).scrollTop();var scrollHeight = $(document).height();var windowHeight = $(this).height();if (scrollTop + windowHeight == scrollHeight) { //滚动到底部执行事件console.dir("我到底部了");}if (scrollTop == 0) { //滚动到头部部执行事件console.dir("我到头部了");} }
调用方法:
$(window).scroll(BottomJumpPage);
判断p是否滚动到底部
上面的方法是判断滚动轴是否滚动到底部,但是有时候,我们在做滚动加载的时候,有时候也要做某个p是否滚动到底部然后加载。那么如何判断p的滚动轴滚动到底部呢?
这个也需要了解几个高度:
1、p的高度 $(“#某p”).height();
2、滚动轴的高度 $(#某p)[0].scrollHeight
3、滚动轴到p顶部的高度 $(某p)[0].scrollTop;
书写代码如下:
$(document).ready(function (){ var nScrollHight = 0; //滚动距离总长(注意不是滚动条的长度) var nScrollTop = 0; //滚动到的当前位置 var npHight = $("#p1").height(); $("#p1").scroll(function(){nScrollHight = $(this)[0].scrollHeight;nScrollTop = $(this)[0].scrollTop;if(nScrollTop + npHight >= nScrollHight)alert("滚动条到底部了");});});
PS:jQuery滚动条位置控制:
将p的滚动条滚动到其子元素所在的位置,方便自动定位。
var container = $(p), scrollTo = $(#row_8);container.scrollTop( scrollTo.offset().top - container.offset().top + container.scrollTop() );// Or you can animate the scrolling: container.animate({ scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop() });?
如果觉得《如何使用jquery判断滚动条滚动方向实例代码分析》对你有帮助,请点赞、收藏,并留下你的观点哦!