本人是初学者哈,如有错误敬请指正
因为每次到饭点都纠结吃什么,正好今天刚学了Math数学方法,索性就写出来一个随机决定吃饭的js程序.
内容-概率都可控的哦~
废话不多说,上代码
好多想说的话,标题不让说呜呜呜呜
html部分
<p id="tl">今天吃什么?</p>
<div>
<button id="start" onclick="start()">点击吃饭</button>
<button id="stop" onclick="stop()" disabled="disabled">就是你了</button>
</div>
css部分
p {
font-size: 150px;
text-align: center;
font-weight: bold;
}
button {
width: 150px;
height: 75px;
font-size: 24px;
}
div {
width: fit-content;
margin: 0 auto;
}
js部分
<script>
// 创建变量a,用来放入数组值
var a;
// 点击'点击吃饭'时 调用该函数,随机选择数组,禁用按钮stop,释放按钮start
function start() {
var select = [
'热干面',//0
'螺狮粉',//1
'泡面',//2
'米饭',//3
'重庆小面',//4
'点外卖',//5 以上0-5之间概率为 1/6
"锤子", //6 一个月吃一次,概率为1/30
"火锅",//7 一个月吃一次,概率为1/30
"炖排骨汤",//8 两星期吃一次,概率为1/15
"吃一个江涛",//9 概率1/100
];
//round 四舍五入 random 随机函数
// [0-29]的区间 1/30的几率取到
if (Math.round(Math.random() * 29) == 1) {
a = 6;
// [0-29]的区间 1/30的几率取到
} else if (Math.round(Math.random() * 29) == 1) {
a = 7;
// [0-14]的区间 1/15的几率取到
} else if (Math.round(Math.random() * 14) == 1) {
a = 8;
// [0-99]的区间 1/100的几率取到
} else if (Math.round(Math.random() * 99) == 1) {
a = 9;
// [0-1]区间 1/2的几率取到
} else if (Math.round(Math.random() * 1) == 1) {
a = 3;
// [0-5]之间 每种1/6的几率取到
} else {
a = Math.round(Math.random() * 6);
}
// tl 用来输出数值
document.getElementById('tl').innerHTML = select[a];// 把数组a,改成文字显示,select
// 数据变换的速度,毫秒单位 setTimeout('调用的函数名',毫秒单位)
id = window.setTimeout('start()', 1);
// 初始 禁用按钮 '点击吃饭'
document.getElementById("start").disabled = "disabled";
// 点击 释放按钮 '就是你了'
document.getElementById("stop").disabled = "";
}
// 点击'就是你了'时 调用该函数,禁用按钮stop,释放按钮start
function stop() {
window.clearTimeout(id);
// 禁用'就是你了'
document.getElementById("stop").disabled = "disabled";
// 释放点击吃饭
document.getElementById("start").disabled = "";
}
</script>
来看看效果 // 另外,数据刷新速度也是可变的
第一次发文章,鄙人习惯写注释很详细,方便大家阅读
更希望很多像我一样的小白,努力加油!