0

私は解決策をウェブで詳しく検索し、非常に近づいていますが、これを完成させることができるよりも賢い人を望んでいます. div をクリックすると、その div の上部がブラウザ ウィンドウの上部にスクロールされるようにします。現在のコード スニペットでは、ID が "centered" の親 div が一番上にスクロールしますが、すべての div のインスタンスを書き出すことなく、各子 div を独自の一番上にスクロールしたいと思います。

toggle:function(divid){ //public method
if (typeof divid=="object")
    divid=divid[0]
this.showhide(divid, "toggle")
$("html, body").animate({scrollTop:$('#centered').position().top}, 600);

}

誰かが私が欠けているものを指摘できますか?

4

1 に答える 1

0

「除算」が何を表すかを知らなければ、これはかなり一般的な例であり、おそらくシナリオに直接適合しないでしょう。ただし、「divid」が id 値または div を表すオブジェクトであると仮定すると、次のようなことができるはずです。

toggle:function(divid) {
    if (typeof divid == 'object') {
        divid = $(divid[0]); // Assumes a jQuery object (not very robust)
    } else {
        divid = $('#' + divid);
    }

    this.showhide(divid, "toggle"); // May break depending if it accepts the jQuery object
    $('html, body').animate({ scrollTop: divid.offset().top }, 600);
}

「this」が問題の div への参照である場合は、divid を使用する代わりに $(this) を交換するだけです。

このコードはあまり堅牢ではないため、除算が実際に何であるかを考慮して正しく変更する必要があることに注意してください。また、セミコロンを忘れないでください。

于 2013-03-29T01:51:24.233 に答える