2

こんにちは、私を怒らせているちょっとした疑問です。

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

ボタンの y-index 値を scrollIndex という変数に保存しました (offset() メソッドのおかげです)。

そして今、私はこれで私のウィンドウを下にスクロールしようとしています:

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

私は実際に多くのことを試しましたが、何もうまくいかないようです.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); 
}

解決しました!次のように click() 内にすべてを書きました:

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();
}

そして、理由がよくわからないことを除いて、すべてが機能するようになりました...クリックイベントハンドラを外部関数にリンクできない理由を誰かが理解していれば、答えを知ってうれしいです。

ありがとうございます!

4

1 に答える 1

5

Chromeでテストしていますか?Chromeで身長を100%に指定した場合、スクロール位置の設定が機能しないという別のSOの質問に遭遇しました。サイトの本体をスクロール可能なdivに配置するか、100%の高さを指定しない必要がありました。

これを試して:

var scrollIndex = $('#tourbutton').offset();
$("html, body").animate({scrollTop:(scrollIndex.top)},500,"linear");
于 2012-01-30T15:23:24.823 に答える