Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从无序列表中删除列表元素?_Javascript_Html - Fatal编程技术网

Javascript 如何从无序列表中删除列表元素?

Javascript 如何从无序列表中删除列表元素?,javascript,html,Javascript,Html,我正在创建一个可滚动的消息日志来记录基于回合的格斗游戏的事件历史,但我不希望消息日志跨越10条以上的消息。但是,由于某些原因,在多次调用函数后,它不会从列表中删除第0个列表元素(每当计数达到10以上时)。相反,它会将它们堆积在列表的底部,从而将滚动菜单扩展到不合理的长度。我有很多问题: 我该如何解决这个问题/是否有其他方法删除列表 无序列表中的元素。。。我想可能是因为我 将列表放在“导航”标签内 是否有其他方法可以创建可滚动的消息日志 这个滚动消息日志有没有办法放置新的 整体位于顶部,因此它将历

我正在创建一个可滚动的消息日志来记录基于回合的格斗游戏的事件历史,但我不希望消息日志跨越10条以上的消息。但是,由于某些原因,在多次调用函数后,它不会从列表中删除第0个列表元素(每当计数达到10以上时)。相反,它会将它们堆积在列表的底部,从而将滚动菜单扩展到不合理的长度。我有很多问题:

  • 我该如何解决这个问题/是否有其他方法删除列表 无序列表中的元素。。。我想可能是因为我 将列表放在“导航”标签内
  • 是否有其他方法可以创建可滚动的消息日志
  • 这个滚动消息日志有没有办法放置新的 整体位于顶部,因此它将历史推到了看不见的地方,就像 反对将新实体放在列表的底部(不在列表中) 视线,除非用户向下滚动)
  • 谢谢

    HTML:


    这是因为
    count
    变量是局部作用域,并且每次调用函数时都将其初始化为
    1
    (因此它永远不会达到
    10
    限制)

    请尝试以下方法:

    var count = 0;
    
    function updateBattleLog(x) {
        count++;
    
        // ...
    }
    

    参见

    var count=count+1应该抛出一个错误…@evolutionxbox,它不会抛出,因为
    var count
    已被提升。实际表达式的计算结果为
    undefined+1
    ,即
    NaN
    Ah right。。。我使用了一个导致错误的返回进行了测试。哇,谢谢-它工作正常!哈哈,我现在对错过这个感到很傻!
    function updateBattleLog(x) {
        var count = count+1;
        var node = document.createElement("LI");
        var textnode = document.createTextNode(x);
        node.appendChild(textnode);
        document.getElementById("battleLog").appendChild(node);
    
    
    
        if (count > 10) {
            var list = document.getElementById("battleLog");
            list.removeChild(list.childNodes[0]);
            count = count-1;
        }
    }
    
    var count = 0;
    
    function updateBattleLog(x) {
        count++;
    
        // ...
    }