16

指定された要素を水平方向にスクロールしたいと思います。私が見つける唯一の方法は、ScrollIntoView DOM メソッドを使用することです。これにより、要素の下部をビューの下部または上部 (ビューの上部) に揃えることができます。

しかし、要素が Y 軸に関して問題がなく、水平方向にのみスクロールしたい場合はどうすればよいでしょうか? 左をビューの左に、または右をビューの右に揃えるにはどうすればよいですか?

編集

これがより多くのコンテキストです。水平スクロールバーのある YUI テーブルがあります。プログラムで特定の TD ノードにスクロールしたいと考えています。window.scrollToスクロールバーはページ全体ではなく div 要素にあるため、私には何の助けにもならないと思います。

EDIT2

正しい答えを持つ重複したSOの質問があることがわかりました-独自のスクロールバーでdivをプログラムでスクロールするにはどうすればよいですか?

鉱山閉鎖に投票。

4

2 に答える 2

0

これは私がしばらく前に使用したものです。それを行うためのより良い、より効率的な方法があるかもしれませんが、これは仕事を成し遂げます:

$(".item").click(function(event){
    event.preventDefault();
    // I broke it down into variable to make it easier to read
    var tgt_full = this.href,
        parts = tgt_full.split("#"),
        tgt_clean = parts[1],
        tgt_offset = $("#"+tgt_clean).offset(),
        tgt_left = tgt_offset.left;

    $('html, body').animate({scrollLeft:tgt_left}, 1000, "easeInOutExpo");          
})

がターゲット要素に対応するタグのタグであるitemことを確認する必要があります。ahrefid

HTML:

<a href="#one">go to section 1</a>
...
<section id="one"> Section 1</section>

お役に立てれば!

于 2012-12-24T18:13:02.423 に答える