【发布时间】:2013-02-03 10:25:36
【问题描述】:
我正在编写一个小的 jQuery 函数,但我似乎遇到了麻烦。
我在这里尝试做的是当用户向下滚动页面 90 像素时,div 标签应该向下动画(从顶部:-50 像素到顶部:0),反之亦然,当他们滚动回顶部时页面。
我遇到的问题是动画有时似乎非常缓慢且无响应。我在 3 种不同的浏览器和不同的计算机上进行了测试,但我没有任何乐趣。
这是我的代码:
// Show div
var scrollValue = "90";
// Animate functions
var showHead = function (){
$(".element").animate({top: "0"}, 250);
}
var hideHead = function (){
$(".element").animate({top: "-50px"}, 250);
}
$(window).scroll(function() {
if ($(this).scrollTop() > scrollValue) {
showHead();
} else {
hideHead();
}
});
.element 属性:
.element { positoin:fixed; top:-50px; }
谁能弄清楚为什么我的代码隐藏/显示头功能如此草率?
谢谢,
彼得
【问题讨论】:
-
请在您的问题中使用描述性和全面的标题。这不是错误发现比赛
-
想创建一个 jsfiddle.net 吗?我不确定你是如何设计
.element的,但这可能与它有关? -
话虽如此,你有没有试过像
$(".element").stop().animate({ ... })一样使用.stop()? -
尝试在调用 animate 之前添加一个 .stop()。
-
@PeterStuart,完美,你去吧
标签: javascript jquery function scroll jquery-animate