使用VBA Fire OnScroll事件

时间:2017-07-13 15:54:10

标签: javascript vba internet-explorer

我的网页中嵌入了一个辅助滚动条,其中包含与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";
    }
}

我很感激帮助。

感谢。

0 个答案:

没有答案