时间:2021-05-25
项目背景
webtouch(webapp)页面,防苹果手机safari浏览器,网上滑动,底部导航消失,滑动到底部又出现。向下滑动,底部导航出现。
遇到问题
1、我一开始用swipeup和swipedown来做,发现因为有滚动条,不会触发。因此只能判断滚动条是上滚下滚等。关于手机手势,后面的文章会介绍,欢迎关注!
2、通过上滚下滚来让底部导航显示或者因此,安卓上面的浏览器都可以,但是苹果safari会一闪一闪,原因是苹果safari自动有个弹跳效果,导致事件重复执行,解决办法是给上滚下滚一个距离,滚动到一定距离后返回是上滚还是下滚。
单纯判断滚动条方向
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);}调用方法:
以上方法手机苹果浏览器事件会跳动,解决方法及代码改进
调用方法:
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("我到头部了"); } }调用方法:
判断div是否滚动到底部
上面的方法是判断滚动轴是否滚动到底部,但是有时候,我们在做滚动加载的时候,有时候也要做某个div是否滚动到底部然后加载。那么如何判断DIV的滚动轴滚动到底部呢?
这个也需要了解几个高度:
1、div的高度 $("#某div").height();
2、滚动轴的高度 $(#某div)[0].scrollHeight
3、滚动轴到div顶部的高度 $(某div)[0].scrollTop;
书写代码如下:
PS:jQuery滚动条位置控制:
将div的滚动条滚动到其子元素所在的位置,方便自动定位。
var container = $('div'), 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() });?声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了jQuery实现浮动层随浏览器滚动条滚动的方法。分享给大家供大家参考。具体如下:这是jQuery实现的一个浮动层效果,随浏览器滚动条而滚动,并一直
一、jQuery检测浏览器window滚动条到达底部jQuery获取位置和尺寸相关函数:$(document).height()获取整个页面的高度$(windo
也不存在什么加载咯,就是一个判断滚动条是否到达浏览器底部了。如果到了就触发事件,米到就不处理。计算公式提简单的底部等于(0)=滚动条高度-滚动条顶部距离-可视高
今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能
IE浏览器,div模拟滚动条,div宽度小于18滚动条不滚动环境win7IE10代码:复制代码代码如下:scrollIE10浏览器运行在IE7,8,9,10模式