4

我有以下问题。

我在 .NET 中有一个树视图控件,并且我创建了一个自动完成搜索框来搜索树的名称 - 然后我可以选择它并突出显示带有所选类的项目。

树视图很长,所以我给它一个高度和溢出滚动。

问题是我想在搜索时查看或向下滚动到所选项目。

所以我创建了以下脚本来滚动查看它,但这似乎不起作用:

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]将返回未定义,因此scrollIntoView不存在..

第二: 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 回答