2014-06-27 73 views
0

我想计算屏幕下滚多远。我通过计算顶部窗口的像素来做到这一点。这是我的代码:变量不适用于动画滚动

$('#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'变量时它不起作用?

回答

0

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

和你的代码只会工作,如果你向下滚动,然后点击#nav_ibutton_start

我修改下面

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

您code.check只是改变以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/

+1

哦,你是对的!不知道我是如何管理的。还意识到我真的想要header = $('#header_wrapper')。height(); – user2909486