嗨,我是 javascript 新手,我希望你能帮我弄清楚为什么在用户使用他们的最小和最大数字单击计算按钮后,我无法让随机数生成器的结果出现在 span 标签中进入。我相信随机数函数没有任何问题,只是当我想将随机数函数用作按钮的 onclick 事件的事件处理程序时,它不起作用。好吧,我所做的是,我创建了一个名为 answer 的函数来收集用户输入并将该输入用作在 answer 函数内部调用的随机数函数的参数。
然后我使用 answer 函数作为 onclick 的事件处理程序,认为它会具有随机数生成器的结果并将其应用于 onclick。我将它存储在称为 storage 的 var 中,以便稍后将事件的结果放在 span 标签中。
这是代码的js小提琴。单击按钮 $("calculate") 后,您可以通过将 random_number 函数的结果输入到 span $("output") 中来帮助我解决我的问题吗?
只有纯 javascript,请不要使用 jquery。
预先感谢您的帮助。如果我弄错了术语和拼写错误,我很抱歉。http://jsfiddle.net/jack2ky/WDyMd/
<label for="min">Enter the min:</label>
<input type="text" id = "min" /> <br />
<label for="max">Enter the max:</label>
<input type="text" id = "max" /> <br />
<input type="button" id = "calculate" value = "calculate"/>
<span id ="output"> </span>
<script>
var $ = function(id){
return document.getElementById(id);
}
window.onload = function () {
var random_number = function(min, max, digits){
digits = isNaN(digits) ? 0 : parseInt(digits);
if(digits < 0){
digits = 0;
}else if (digits > 16){
digits = 16
}
if(digits == 0){
return Math.floor(Math.random() * (max - min +1)) +min;
}else {
var rand = Math.random() * (max - min) + min;
return parseFloat(rand.toFixed(digits));
}
}
var storage = $("calculate").onclick = answer;
var answer = function(){
var miny = $("min").value;
var maxy = $("max").value;
return random_number(miny, maxy);
}
$("output").firstChild.nodeValue = storage;
}
</script>
</body>
</html>