【发布时间】:2015-03-19 18:26:09
【问题描述】:
所以我使用此代码在向下滚动时隐藏我的导航栏,并在用户再次向上滚动时显示它。
它在桌面、所有浏览器上运行良好,它也适用于移动设备 (iPhone) 上的 Chrome,但在 Safari 中,slideUp/slideDown 表现得很疯狂,有时它会显示、隐藏、显示隐藏导航栏几次,然后消失。
就好像事件被多次触发一样。
这是工作代码
var lastScrollTop = 0, delta = 5;
$(window).scroll(function(event){
var st = $(this).scrollTop();
if(Math.abs(lastScrollTop - st) <= delta)
return;
if (st > lastScrollTop){
// downscroll code
$("#soulnavbar").slideUp()
} else {
// upscroll code
$("#soulnavbar").slideDown();
}
lastScrollTop = st;
});
http://jsfiddle.net/5n630gs2/1/
还有我在http://www.carbsanity.com/使用的网站
有人能告诉我为什么它在 Safari 上会这样吗?我能做些什么吗? :-)
谢谢!
【问题讨论】:
标签: javascript jquery html ios css