2014-06-27 124 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