4

次の問題があります。

.NET にツリー ビュー コントロールがあり、ツリーで名前を検索するオートコンプリート検索ボックスを作成しました。これを選択すると、選択したクラスの項目が強調表示されます。

ツリー ビューはかなり長いので、高さとオーバーフロー スクロールを指定しました。

問題は、検索したときに、選択したアイテムを表示またはスクロールダウンすることです。

だから私はそれをscrollIntoViewするために次のスクリプトを作成しましたが、これはうまくいかないようです:

function search_itemSelected(sender, e) {
        var hdSearchID = $get('<%= hdSearchID.ClientID %>');
        hdSearchID.value = e.get_value();
        var selectedElement = $("div.node.cen.selected"); // This works
        if (selectedElement != null) {
            selectedElement[0].scrollIntoView = 10; // This keeps coming back as undefined
        }
    }
4

2 に答える 2

7

最初:変更

if (selectedElement != null)

if (selectedElement.length)

戻ること$("div.node.cen.selected");はありませんnull。jQuery は常に jQuery オブジェクトを返します (空であるかどうかにかかわらず、jQuery オブジェクト)

したがって、空の場合、 はselectedElement[0]undefined を返すため、scrollIntoViewは存在しません。

Second: scrollIntoViewは関数であるため、値を割り当てません。あなたはそれを呼び出す必要があります

selectedElement[0].scrollIntoView();
于 2012-10-04T08:12:53.177 に答える
2

scrollIntoViewそのように、表示したい要素で使用されます:

el.scrollIntoView(true);

ノート:

要素が表示されるまでウィンドウをスクロールします。

構文:

document.all.elementID.scrollIntoView(param1)

パラメータ: param1 オプション。要素の上部がウィンドウの上部にスクロールされるか、要素の下部がウィンドウの下部にスクロールされるかを示す true または false。

また、scrollIntoView()一部のタグでのみ使用できます

http://www.java2s.com/Code/JavaScriptReference/Javascript-Methods/scrollIntoViewisappliedto.htm

于 2012-10-04T08:13:53.830 に答える