我的网页中嵌入了一个辅助滚动条,其中包含与onscroll事件关联的javascript函数。 onscroll事件会导致更多行显示在窗口中。这不是父窗口滚动条。
我似乎无法使用VBA触发事件,也无法定位滚动条。
这是带有JS事件的HTML:
<div id="divViewAreaTop" onscroll="GetMoreRecords(this)">
VBA代码:
Dim scrollBar As Object
Set scrollBar = IE.Document.getElementById("divViewAreaTop")
scrollBar.FireEvent ("onscroll")
以下是我要解决的JavaScript函数:
var gettingMoreRecords = false;;
function GetMoreRecords(scrolldiv) {
if (AjaxBusy() || AjaxAsynchBusy()) return;
if (gettingMoreRecords) return;
var scrollwithin=40;
if (scrolldiv.scrollTop >= (scrolldiv.scrollHeight-scrolldiv.offsetHeight-scrollwithin))
{
var which = EnvListTableId();
var list = GetE(bdyId + which);
var pg = GetE(bdyId + "hdnPageIdx");
if (list && pg) {
var idx = parseInt(pg.value);
var total = parseInt(list.getAttribute("total"));
var perpage = parseInt(list.getAttribute("perpage"));
idx++;
if ((idx*perpage) < total) {
gettingMoreRecords = true;
pg.value = idx;
GetE("divListWait").style.display="block";
var lastrow = LastRowPosition();
AjaxReqAsynch("ManageEnvelopes.aspx?issortpage=1&action=refreshgrid&which=" + which + "&lastrow=" + lastrow + AjaxUrlParams(), GetMoreRecordsDone, GetMoreRecordsError);
} else {
GetE("divListWait").style.display="none";
}
}
} else {
GetE("divListWait").style.display="none";
}
}
我很感激帮助。
感谢。