2012-10-04 86 views
3

我遇到以下問題。scrollIntoView未定義

我在.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 
     } 
    } 

回答

3

第一:變化

if (selectedElement != null) 

if (selectedElement.length) 

因爲$("div.node.cen.selected");將永遠不會返回null。 jQuery的總是返回一個jQuery對象(空或不是,而是一個jQuery對象

所以在它是空的情況下,selectedElement[0]將返回不確定的,因此scrollIntoView不存在..

第二個:scrollIntoView是一個函數,所以你不要給它賦值。您需要

selectedElement[0].scrollIntoView(); 
2

scrollIntoView調用它是用來與你想顯示元素,這樣的:

el.scrollIntoView(true); 

注:

滾動窗口,直到該元素是可見的。

語法:

document.all.elementID.scrollIntoView(參數1)

參數: 參數1可選; true或false,指示元素頂部是否滾動到窗口的頂部,或者底部的 元素是滾動到窗口的底部。

此外,scrollIntoView()只能與一些標籤使用

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