【问题标题】:How to disable my element auto-scroll briefly如何短暂禁用我的元素自动滚动
【发布时间】:2014-02-26 00:55:10
【问题描述】:

我使用这个问题的答案将我的 HTML5 游戏的战斗日志自动滚动到底部:

How to auto-scroll to end of div when data is added?

如果我想在用户单击向上滚动并查看日志时暂时禁用此功能,我该怎么做?

我使用的代码是:

//autoscroll combat log

window.setInterval(function() {
  var elem = document.getElementById('log');
  elem.scrollTop = elem.scrollHeight;
}, 500);

最好的问候, 蜘蛛网

编辑:上面的代码连接到 div 中的一个简单跨度:

<div>
    <span id='log'></span>
</div>

风格化以具有滚动条:

span#log {

    display: block;
    font-family: courier, sans;
    margin: auto;
    border:1px solid black;
    width:600px;
    height:200px;
    overflow:auto;
    background-color:black;
    color: lime;
    text-align: left;

}

【问题讨论】:

    标签: html autoscroll


    【解决方案1】:

    setInterval() 返回一个 ID,使用该 ID,您可以使用 clearInterval() 停止它

    var intervalID = window.setInterval(function() {
      var elem = document.getElementById('log');
      elem.scrollTop = elem.scrollHeight;
    }, 500);
    

    然后是这个

    window.clearInterval(intervalID);
    

    small DEMO

    【讨论】:

    • 谢谢!这行得通。有没有办法在玩家点击向上滚动时触发它?
    • @cobwebs 您需要提供更多信息或小演示来说明您的工作方式
    猜你喜欢
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 2023-04-08
    • 2012-03-04
    • 1970-01-01
    • 2017-08-18
    相关资源
    最近更新 更多