900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > html5模拟真实摇骰子 js实现简单掷骰子效果

html5模拟真实摇骰子 js实现简单掷骰子效果

时间:2022-06-03 18:54:08

相关推荐

html5模拟真实摇骰子 js实现简单掷骰子效果

本案例要实现的掷骰子效果:

点击按钮,使骰子转动起来,转动随机时间之后,自动停止在某一个点数上。

思路:

点击按钮之后,将原本静态的骰子图片替换为一个动态转动的gif图片;

创建定时器,实现随机时间之后,动态的图片随机替换为1~6点图片的任意一张图片。

注意:

1、要考虑用户点击一次按钮后再连续多次点击按钮的情况。

2、为了防止不必要的问题,需要设置使定时器执行完毕一次之后,再点击按钮才有效。

3、这里设置了一个开关:

用户点击按钮时,先判断开关是否关闭,如未关闭,可执行函数内容;

若开关已关闭,则不执行函数体,即没有任何效果。

css部分

*{margin:0; padding:0}

#container{padding:10px;width:200px;margin:auto;height:200px;border:orange solid 1px; border-radius:8px;}

#dice{width:200px;height:200px;}

#command{margin:auto;width:100px;}

#command input{width:100px;height:30px;border:#ccc solid 1px;border-radius:8px;}

html部分

js部分

// 封装函数,便于通过id获取元素

function $(id) {

return document.getElementById(id);

}

// 生成随机数

function rand(min,max){

if (min>max) {

var mid = min;

min = max;

max = mid;

}

//65<=Math.random()*26+65<26+65

return parseInt(Math.random()*(max-min+1)+min);

}

//创建一个开关,默认为true(打开状态)

var oPlay = true;

//点击事件

function shake() {

if(oPlay){ //判断开关的状态,若为true,执行下边的内容

oPlay = false; //开始执行后,关闭开关

$("dice").src = "img/diceDynamic.gif"; //将静态图替换为动图

//随机时间后,将动态图替换为随机点数的图片

var timer = setTimeout(function(){

$("dice").src = "img/dice_" + rand(1,6) + ".png";

oPlay = true; //执行完毕后,再打开开关

},rand(500,3000));

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。