webapp手机网站顶部固定fixed不为0的情现,滑动出现闪动

简介: webapp手机网站顶部固定fixed不为0的情现,滑动出现闪动

问题描述

头部是一个普通的div,高度是48,头部下面有个固定的banner,手下滑的时候,banner会固定在浏览器最顶部不动。出现的问题是,PC端是好的,手机浏览器向上滑动的时候出现闪动!影响用户体验。

有问题的做法

if ($(window).scrollTop() < 48) {
  $(".nav ").css("top", 48 - parseInt($(window).scrollTop()));
} else {
  $(".nav ").css("top", "0");
}
$(window).scroll(function () {
  $(".nav ").css("top", "0");  var toplength = parseInt($(window).scrollTop());  if ($(window).scrollTop() < 48) {
    $(".nav ").css("top", 48 - toplength);
  }
});

这样做手机网站中会出现明显的闪动效果!

改进之后的方法一

if ($(window).scrollTop() < 48) {
  $(".nav ").stop().animate({ "top": 48 - parseInt($(window).scrollTop()) }, "fast");
} else {
  $(".nav ").stop().animate({ "top": "0" }, "fast");
}
$(window).scroll(function () {  var toplength = parseInt($(window).scrollTop());  if ($(window).scrollTop() < 48) {
    $(".nav ").stop().animate({ "top": 48 - toplength }, "fast");
  } else {
    $(".nav ").stop().animate({ "top": "0" }, "fast");
  }
});

这样做滑动的时候,有个向上的动画效果,不会出现闪动!

改进之后的方法二

顶部固定的地方,一开始和上面不固定的地方是一体的,不写position:fixed,当要固定的div的offset比scrolltop小的时候,让其固定。(我之前之所以没有用这个方法,是因为整个页面在ios中要引用,当在ios中的时候,头部不出现。)

代码如下:

menuPosition: function() {  var m = $(window).scrollTop(),
    n = $("#idmenuinfo的父亲").offset().top,
    l = $("#menuinfo");  if (m >= n) {    if (!l.hasClass("menuinfo")) {
      l.addClass("menuinfo")
    }
  } else {
    l.removeClass("menuinfo")
  }
}
menuinfo的样式如下:
.menuinfo {  position: fixed !important;  width: 100%;  left: 0;  top: 0;
}
目录
相关文章
|
前端开发
实现手机端的触屏滑动效果
实现手机端的触屏滑动效果
239 0
实现手机端的触屏滑动效果
|
小程序 Android开发 容器
苹果手机可左右滑动的bug
苹果手机可左右滑动的bug
216 0
uni-app实现左右滑动菜单,模拟小米手机桌面菜单应用
uni-app实现左右滑动菜单,模拟小米手机桌面菜单应用
解决手机端中overflow: auto引起的内容滑动卡顿问题
解决手机端中overflow: auto引起的内容滑动卡顿问题
436 0
ADB连接小米手机模拟上下左右滑动实例演示
ADB连接小米手机模拟上下左右滑动实例演示
457 0
ADB连接小米手机模拟上下左右滑动实例演示
|
JavaScript
vue移动端 实现手机左右滑动入场动画
vue移动端 实现手机左右滑动入场动画
|
Android开发
【请教问题】kanzi如何实现类似安卓手机桌面滑动切换界面效果?
目前想用kanzi实现类似安卓手机的左右滑动切换桌面的效果。尝试了以下两种方法都没有实现。 方法一: 仿造例子程序album切换效果,将Trajectory List Box 3D中切换改为AngleTrajectory方式,可以实现切换,但是两个图片的间距太大,设置spacing参数到最小也还是有间距。
1380 0

热门文章

最新文章