Javascript 添加新行时,将焦点设置为div内表的末尾

Javascript 添加新行时,将焦点设置为div内表的末尾,javascript,html,css,vbscript,Javascript,Html,Css,Vbscript,我有一张桌子在一个设定高度的div内,当桌子比div大时,会出现滚动条。 问题是,如果div的滚动条位于顶部,而底部的其他行处于隐藏状态,并且用户按下按钮添加新行,则该行将添加到表的底部,因此您无法看到它 是否使用javascript、vbscript或css将焦点设置为已创建的行,以便添加时可见 这是调用添加新行的函数的代码 strRow = strRow + "<div> <input ID='AddRowTableNew_" + cstr(newro

我有一张桌子在一个设定高度的div内,当桌子比div大时,会出现滚动条。 问题是,如果div的滚动条位于顶部,而底部的其他行处于隐藏状态,并且用户按下按钮添加新行,则该行将添加到表的底部,因此您无法看到它

是否使用javascript、vbscript或css将焦点设置为已创建的行,以便添加时可见

这是调用添加新行的函数的代码

   strRow = strRow + "<div>
        <input ID='AddRowTableNew_" + cstr(newrow.id) + "' type='button' 
        value='Add New Row' 
        onclick='vbscript:AddNewRow 0," + cstr(newRow.id)+ "'/>
    </div>"
strow=strow+”
"
任何帮助都将不胜感激

PD:我需要这是在VBScript或JavaScript上,请不要JQuery

谢谢

试试这个

var div = document.getElementById('the_div');
div.scrollTop = div.scrollHeight;

希望有帮助。

尝试
元素。scrollIntoView()。它可以在Firefox、IE6+、Opera和Google Chrome/Safari中使用

您还可以为函数提供布尔值,该函数将指定元素滚动到的位置:

// Align the element with the top of the parent
Element.scrollIntoView();
Element.scrollIntoView(true);

// Align the element with the bottom of the parent
Element.scrollIntoView(false);
编辑:对于
scrollIntoView
,请举例说明

要滚动到底部,还可以将元素的
scrollTop
属性设置为等于
scrollHeight
属性:

Element.scrollTop = Element.scrollHeight;

当可滚动区域超过偏移高度的2倍时,此操作将失败。如果它应该是
div.scrollTop=div.scrollHeight
”。嗨,安迪,这对于我需要的东西来说是非常方便的,但是我有一个小问题。我有这个(onclick=“vbscript:AddNewRow()”。您知道如何将该语句添加到onclick事件中吗?例如(onclick=“vbscript:AddNewRow();Element.scrollIntoView(false);“如果AddNewRow将返回(在DOM中)创建的元素,那么您可以执行
vbscript:(AddNewRow())。scrollIntoView(false)
@Cesar Lopez:将代码添加到
AddNewRow
函数的末尾会更容易。只需将
元素
替换为对新创建的行的引用,例如
newRow.scrollIntoView(false)
。或者,您可以让函数返回对新创建行的引用,并让您的代码如下:
onclick=“vbscript:(AddNewRow()).scrollIntoView(false)”
Hi Gaby,我试过了,我想我最好粘贴真正的onclick.onclick='vbscript:AddRegularDoseTimes 0,+cstr(newRow.id)+”我怎么能在这里加上这些呢?嗨,安迪和加比,非常感谢你们两位,在你们的帮助下,我已经成功了。非常感谢。