在javascript代码中设置延迟时间

时间:2015-03-22 12:40:17

标签: javascript

我有以下代码。

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运行一次(例如) 你能帮帮我吗?

1 个答案:

答案 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);

在这里试试这个代码我非常肯定它会起作用。