我有以下代码。
var el = document.getElementsByClassName('_4jy0 _4jy3 _517h _51sy _42ft');
var objDiv = document.querySelector("._5tee .uiScrollableAreaWrap");
var n = -1;
while (true)
{
if (n == el.length)
{
break;
}
else
{
objDiv.scrollTop = objDiv.scrollHeight;
}
n = el.length;
var el = document.getElementsByClassName('_4jy0 _4jy3 _517h _51sy _42ft');
}
此代码是一个带滚动条的div框。当代码被执行时,它会下移到最后一项,然后该框加载更多项目,但代码停止导致该框需要一些ms来加载其他项目。
所以我希望你帮我用setTimeout或setInterval做一个延迟时间 当它没有更多要加载的项目时,while循环将停止。
您建议使用什么,setTimeout或setInterval ???
代码应该是什么样的???
我只希望向下滚动(objDiv.scrollTop = objDiv.scrollHeight;
)每3ms运行一次(例如)
你能帮帮我吗?
答案 0 :(得分:0)
function hereYouGo() {
var el = document.getElementsByClassName('_4jy0 _4jy3 _517h _51sy _42ft');
var objDiv = document.querySelector("._5tee .uiScrollableAreaWrap");
var n = -1;
while (true)
{
if (n == el.length)
{
break;
}
else
{
objDiv.scrollTop = objDiv.scrollHeight;
}
n = el.length;
var el = document.getElementsByClassName('_4jy0 _4jy3 _517h _51sy _42ft');
}
}
var myTimer = setInterval(hereYouGo, 1000);
在这里试试这个代码我非常肯定它会起作用。