我目前正在尝试写一个骰子游戏。当用户点击“播放”时,骰子将开始改变。一个是用户的骰子,一个是服务器的骰子。当这发生时,我的PHP页面将等待5秒,然后计算一个随机数。然后它会把它发送到HTML页面,一旦HTML收到它,它就会停止掷骰子并宣布一个赢家。我现在被PHP部分卡住了,并尝试使用睡眠函数。但是,当我这样做时,如果我点击播放,骰子将不会移动,直到它收到数字,然后它将开始洗牌。到目前为止,这是我的代码。
HTML/JS
<body>
<h1>Brandon Wong</h1>
<input type="button" id="play" value="Play">
<div id = "userDie"></div>
<div id = "serverDie"></div>
<script>
document.querySelector('input[type]').addEventListener('click', toss_dice);
//display default dice*/
var userDie = document.createElement('img');
var serverDie = document.createElement('img')
userDie.src = '1.gif';
serverDie.src = '1.gif';
document.getElementById('userDie').appendChild(userDie);
document.getElementById('serverDie').appendChild(serverDie);
function toss_dice() {
var dice = ['1.gif', '2.gif', '3.gif', '4.gif', '5.gif', '6.gif'];
var randPlayer2 = 0;
setInterval(function(){
var randPlayer1 = Math.floor(Math.random() * dice.length);
var randPlayer2 = Math.floor(Math.random() * dice.length);
userDie.src = dice[randPlayer1];
serverDie.src = dice[randPlayer2];
document.getElementById('userDie').appendChild(userDie);
document.getElementById('serverDie').appendChild(serverDie);
//alert(randPlayer1);
}, 500);
request = new XMLHttpRequest();
request.open('GET', 'hw02.php', false);
request.send(null);
var test = request.responseText;
alert(test);
}
</script>
PHP
<?php
sleep(5);
$number = rand(0,5);
echo $number:
?>
这是我的页面的link,可以查看到目前为止我的页面
发布于 2021-02-21 13:16:20
您的请求当前正在对阻止请求使用, false
。这将阻止动画和其他JS等在请求进行过程中在页面上运行。同步请求已被弃用,可能会导致糟糕的用户体验(如您所见)-请使用适当的异步请求。
request.addEventListener('readystatechange', () => {
if (request.readyState === 4) {
console.log(request.responseText);
}
});
request.open('GET', 'hw02.php');
https://stackoverflow.com/questions/66299364
复制相似问题