变量不适用于动画滚动

时间:2014-06-27 00:47:35

标签: jquery scroll

我正在尝试计算屏幕下滚动的距离。我是通过计算顶部窗口的像素来做到这一点的。这是我的代码:

$('#nav_ibutton_start').click(function(){
header = $('#header_wrapper').offset().top;
element = $('#ibutton_products').offset().top;
pos = header-element;
$("html, body").animate({ scrollTop: pos }, "slow");
});

我已经警告过' pos'变量,它是正确的数字。我在没有变量的情况下对其进行了测试,例如:

$("html, body").animate({ scrollTop: 500 }, "slow");

它也可以正常工作。当我使用' pos'时,为什么它不起作用?变量?

1 个答案:

答案 0 :(得分:0)

你的结果是在Negative.this是不可能滚动将顶部(因为它已经在顶部位置)。

并且只有在向下滚动然后点击#nav_ibutton_start

时,您的代码才有效

我修改了你的code.check

var pos = header-element;(your value is -)

只需将订单更改为var pos = element-header;

$('#nav_ibutton_start').click(function(){
header = $('#header_wrapper').offset().top;
element = $('#ibutton_products').offset().top;
var pos = element-header;
    alert(pos);
$("html, body").animate({ scrollTop: pos });
});

http://jsfiddle.net/CWC7u/1/