2012-01-30 6 views
2

こんにちは、私は怒っています。jQueryでスクロールダウン

このボタンをクリックすると、自動的にボタンまでスクロールしようとしています。

私のボタンのy-インデックス値は、scrollIndexという変数に保存されています(offset()メソッドのおかげで)。

そして今、私はこれで私の窓を下にスクロールしようとしている:

var scrollIndex = $('#tourbutton').offset(); 
$("body").animate({scrollTop:(scrollIndex.top)},500,"linear"); 

私は実際に多くのことを試してみたが、何も動いていないようにみえて、私は私が間違っを作ってるんだからだsupose scrollTopメソッド()の使用..

助けてください?ありがとうございました!

私の完全なコード:

window.onload = initAll; 

function initAll() { 
    changeStyle(); 
    $('#tourbutton').click = hello(); 
} 

function hello() { 
    var scrollIndex = $('#tourbutton').offset(); 
    $("html, body").animate({scrollTop:(scrollIndex.top)},800,"swing"); 
    //var scrollIndex = $('#tourbutton').offset();  
    //$("window").scrollTo({top:scrollIndex},800); 
} 

が解決しよう!私は外部関数にクリックなeventHandlerをリンクすることができない理由誰かが理解するならば、私はよ...

function initAll() { 
$('#tourbutton').click(function() { 

var scrollIndex = $('#tourbutton').offset(); 
$("html, body").animate({scrollTop:(scrollIndex.top)},800,"swing"); 

//var scrollIndex = $('#tourbutton').offset(); 
//$("window").scrollTo({top:scrollIndex},800); 
}); 

    changeStyle(); 
} 

そして、私はかなり理由を理解していない以外のすべてが機能するようになりました:私はこのように()をクリック内のすべてのものを書きました答えを知ってうれしいです。

ありがとうございます!

+0

てみ '$( '文書')アニメーション:

は、この試してみてください({scrollTopスプライト:(scrollIndex.top)}、500、 "リニアを");'? –

+0

[jQuery.ScrollTo](http://demos.flesler.com/jquery/scrollTo/) – TOUDIdel

+0

私はこれを書いています:var scrollIndex = $( '#tourbutton')。offset(); \t $( "window")。scrollTo({top:scrollIndex}、800); "$(" window ")。scrollToは関数ではありません" –

答えて

5

Chromeでテストしていますか?あなたがChromeで100%の身長を指定した後、スクロール位置を設定してもうまくいかなかった場合、私は別の質問に遭遇しました。スクロール可能なdivにサイトの本体を置くか、100%の高さを指定しないでください。 。

var scrollIndex = $('#tourbutton').offset(); 
$("html, body").animate({scrollTop:(scrollIndex.top)},500,"linear"); 
+0

私はあなたが言ったことをして、今は動作しますが、私はページをロードするたびにそれをします!私の完全なコードは次のようなものです: –

+0

window.onload = initAll; 関数initAll(){ \t changeStyle(); \t $( '#tourbutton')。click = hello(); }関数ハロー(){ \t \t VAR scrollIndex = $( '#1 tourbutton')(オフセット)。\t $( "html、body")。animate({scrollTop :(scrollIndex.top)}、800、 "swing"); \t // var scrollIndex = $( '#tourbutton')。offset(); \t //$("window").scrollTo({top:scrollIndex},800); } –

関連する問題