javascript - 调用 Javascript 函数后出现 HTML 和 CSS 中断

标签 javascript html css

我有一些 javascript 可以从数组中随机选择一个元素并将其打印到屏幕上。当用户点击按钮并将元素打印到屏幕时,应该触发 javascript。我已经能够通过在页面加载以及按下按钮时触发它来使该功能正常工作,整个页面重新加载并将新元素打印到屏幕上。

但目标是当用户单击按钮并将元素打印到屏幕时触发 javascript。然后用户可以重复单击该按钮,每次都会将新元素打印到屏幕上

现在发生的事情是,当按下按钮时,javascript 被触发,但页面的 html 和 css 似乎中断了。该元素打印到空白页面,触发 javascript 的按钮消失(页面的任何样式也消失),因此用户无法再次单击它并打印新元素。

我不确定发生了什么,或者如何解决它。这是我正在使用的 javascript,它不起作用。

<div id="saying">
<script>
    function someFunc() {
        var choices = ["item1", "item2", "item3", "item4", "item5"];
        var pick_choice = choices[Math.floor(Math.random() * choices.length)];
        var post_choice = pick_choice
        document.write(post_choice)
    }
</script>
</div>

<input type="button" name="button" value="button" id="button" onclick="someFunc()";>

最佳答案

像这样的东西会起作用。如果将它添加到 saying 元素的 innerHTML。

HTML

<input type="button" name="button" value="button" id="button" onclick="someFunc()";>
<div id="saying"></div>

JS

var saying = document.getElementById( 'saying' );

function someFunc() {
  var choices = ["item1", "item2", "item3", "item4", "item5"];
  var pick_choice = choices[Math.floor(Math.random() * choices.length)];
  var post_choice = pick_choice;
  saying.innerHTML += post_choice + '<br>';
}

此处演示:http://jsfiddle.net/kdDY5/

关于javascript - 调用 Javascript 函数后出现 HTML 和 CSS 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23001276/

相关文章:

javascript - Vue路由器不路由到指定位置

javascript - 按钮形式不可点击,一旦放置在 div 中

javascript提示返回类型总是object?

javascript - Chart.js 没有响应

javascript - Bootstrap 表单组复选框不会在导航丸之间被选中

html - Firefox 记住错误的详细信息用户名

css - 如何将Flexbox宽度设置为仅包含其中的内容

html - 网络邮件客户端 (gmail) 中的图像切换位置

html - div 只和里面的文本一样宽,而不是拉伸(stretch)到最后

javascript - HTML 下划线按钮