【问题标题】:why did <span> work here when <p> didn't?为什么 <span> 在这里工作而 <p> 没有?
【发布时间】:2017-05-16 00:17:43
【问题描述】:

Could 请向我解释为什么使用空元素会显示“所用时间”和所用秒数。如果我使用"&lt;p id="timer"&gt;Time Taken:&lt;/p&gt;" and no &lt;span&gt;,它不会显示字符串“Time Taken”

只显示它所用的秒数。谢谢!

花费时间:

    <script type="text/javascript">
        var startTime = new Date().getTime();

        function shapeAppear() { 

            document.getElementById("square").style.display = "block"; 

            startTime = new Date().getTime(); 

        }

        function shapeAppearDelay(){

            setTimeout(shapeAppear, Math.random() * 2000);

        }

            shapeAppearDelay ();  

            document.getElementById("square").onclick = function ()
               {document.getElementById("square").style.display = "none"; 

               var endTime = new Date().getTime(); 

              var timeTaken = (endTime - startTime)/(1000)%60; 
            //(1000)%60 to get seconds in minutes.  

            document.getElementById("timer").innerHTML = timeTaken; 

        shapeAppearDelay ();                                                            
        }

【问题讨论】:

  • 你也可以添加你的 HTML 吗?
  • 我在您的代码中没有看到字符串“Time Taken”。
  • 我强烈建议结束这个问题,然后阅读“How to Ask”和“minimal reproducible example”指南。正如所写的那样,我很难弄清楚您希望我们提供什么帮助,而且如果没有您的 HTML(甚至可能是 CSS),这几乎是不可理解的。
  • 它不显示文本,因为您替换了元素的 HTML....
  • 我确实包含了 html,但不确定为什么不显示。这里是:

    耗时:

    跨度>

标签: javascript html css


【解决方案1】:

这是因为你用这一行完全改变了你的#timer的内容:

document.getElementById("timer").innerHTML = timeTaken;

要仅追加到元素的末尾,请使用以下代码:

var element = document.getElementById("timer");
element.innerHTML = element.innerHTML + timeTaken;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 2012-09-11
    • 1970-01-01
    相关资源
    最近更新 更多