js实现简单掷骰子效果
本案例要实现的掷骰子效果:
点击按钮,使骰子转动起来,转动随机时间之后,自动停止在某一个点数上。
思路:
点击按钮之后,将原本静态的骰子图片替换为一个动态转动的gif图片;
创建定时器,实现随机时间之后,动态的图片随机替换为1~6点图片的任意一张图片。
注意:
1、要考虑用户点击一次按钮后再连续多次点击按钮的情况。
2、为了防止不必要的问题,需要设置使定时器执行完毕一次之后,再点击按钮才有效。
3、这里设置了一个开关:
用户点击按钮时,先判断开关是否关闭,如未关闭,可执行函数内容;
若开关已关闭,则不执行函数体,即没有任何效果。
css部分
*{margin:0;padding:0}
#container{padding:10px;width:200px;margin:auto;height:200px;border:orangesolid1px;border-radius:8px;}
#dice{width:200px;height:200px;}
#command{margin:auto;width:100px;}
#commandinput{width:100px;height:30px;border:#cccsolid1px;border-radius:8px;}
html部分
js部分
//封装函数,便于通过id获取元素
function$(id){
returndocument.getElementById(id);
}
//生成随机数
functionrand(min,max){
if(min>max){
varmid=min;
min=max;
max=mid;
}
//65<=Math.random()*26+65<26+65
returnparseInt(Math.random()*(max-min+1)+min);
}
//创建一个开关,默认为true(打开状态)
varoPlay=true;
//点击事件
functionshake(){
if(oPlay){//判断开关的状态,若为true,执行下边的内容
oPlay=false;//开始执行后,关闭开关
$("dice").src="img/diceDynamic.gif";//将静态图替换为动图
//随机时间后,将动态图替换为随机点数的图片
vartimer=setTimeout(function(){
$("dice").src="img/dice_"+rand(1,6)+".png";
oPlay=true;//执行完毕后,再打开开关
},rand(500,3000));
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。