时间:2021-05-18
顶部固定时划屏出现闪动
头部是一个普通的div,高度是48,头部下面有个固定的banner,手下滑的时候,banner会固定在浏览器最顶部不动。出现的问题是,PC端是好的,手机浏览器向上滑动的时候出现闪动!影响用户体验。
解决方法一:
之前的做法:
这样做手机网站中会出现明显的闪动效果!
改进之后的做法:
这样做滑动的时候,有个向上的动画效果,不会出现闪动!
解决方法二:
思路:顶部固定的地方,一开始和上面不固定的地方是一体的,不写position:fixed,当要固定的div的offset比scrolltop小的时候,让其固定。(我之前之所以没有用这个方法,是因为整个页面在ios中要引用,当在ios中的时候,头部不出现。)
代码如下:
menuinfo的样式如下:
.menuinfo { position: fixed!important; width: 100%; left: 0; top: 0;}表层div滑动、导致底层body滑动
body很长,可以滑动,body头部有一个模拟下拉的选择框。下拉选择有滚动轴,如下图。
我给body一个overflow:hidden和高度是没有用的。手机网站上背景还是可以滑动,然后我给body一个touchmove的preventdefault()阻止事件,body滑动阻止了,PC上面是可以了,但是手机上面滑动div还是会导致底部body的滑动,我给div 一个阻止冒泡的事件stopPropagation(),手机网站上面还是不可以。
关于preventdefault和stopPropagation,后面有时间会讲解其区别。
解决方案:
我经过反复测试,发现滚动轴滚到底部的时候,会触发body的滑动,那么我就在事件滚到底部的时候对表层的div做一个touchmove的阻止。到达滚动轴底部,向下滑动,阻止事件,向上滑动,开启事件。为此就要判断touchmove的方向了。
上面的方法是判断touchmove的滑动方向。
$('#haorooms底层背景').bind("touchmove", function (e) { e.preventDefault(); }); $(".滚动的父亲").bind("touchstart", function (events) { startY = events.originalEvent.changedTouches[0].pageY; }); $(".滚动的父亲 ul").bind("touchmove", function (e) { var ulheight = $(this).height(); var scrollTop = $(this).scrollTop(); var scrollheight = $(this)[0].scrollHeight; if (ulheight + scrollTop + 20 >= scrollheight) { //滚到底部20px左右 $(".滚动的父亲").bind("touchmove", function (event) { moveEndY = event.originalEvent.changedTouches[0].pageY, theY = moveEndY - startY; if (theY > 0) { //用上面的abs()更加准确! $(".滚动的父亲").unbind("touchmove"); } if (theY < 0) { event.preventDefault(); } }) } if (scrollTop < 20) {//滚到顶部20px左右 $(".滚动的父亲").bind("touchmove", function (event) { moveEndY = event.originalEvent.changedTouches[0].pageY, theY = moveEndY - startY; if (theY > 0) { event.preventDefault(); } if (theY < 0) { $(".滚动的父亲").unbind("touchmove"); } }) } });声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Jquery滑动门/tab切换实现方法。分享给大家供大家参考,具体如下:$(function(){var$div_li=$("div.tab_me
新技术支持。移动Web前端页面主要用HTML5、CSS3、JavaScript与jQuery开发,移动端浏览器主要以webkit内核为主,对于HTML5的新特性
本文实例讲述了jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果。分享给大家供大家参考,具体如下:这里演示jQuery实现鼠标移动到链接上,滑动展开/隐藏
本文实例为大家分享了js实现移动端导航点击滑动效果的具体代码,供大家参考,具体内容如下移动端模拟导航可点击自动滑动0.1.4。导航可左右滑动,可点击边缘的一个,
本文实例为大家分享了移动端手指操控左右滑动菜单的具体代码,供大家参考,具体内容如下移动端手指操控左右滑动的菜单body{margin:0;}.menu-wrap