js实现简单掷骰子效果
2019-10-24 18:05
1421 查看
本案例要实现的掷骰子效果:
点击按钮,使骰子转动起来,转动随机时间之后,自动停止在某一个点数上。
思路:
点击按钮之后,将原本静态的骰子图片替换为一个动态转动的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部分
<div id="container"> <img src="img/dice_1.png" id="dice" alt=""> </div> <div id="command"> <input type="button" onclick="shake();" value="摇一摇"> </div>
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)); } }
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- JS简单实用的倒计时效果实现代码
- JS实现超简单的鼠标拖动效果
- js实现楼层效果的简单实例
- 简单JS 实现窗口抖动效果
- 最简单的js图片切换效果实现代码
- 利用JS实现简单的瀑布流效果
- 一个js实现简单的字幕滚动效果
- 原生js实现jquery函数animate()动画效果的简单实例
- 简单几行js实现tab选项切换效果
- js控住DOM实现发布微博简单效果
- js实现简单掷骰子小游戏
- JS+CSS实现简单的二级下拉导航菜单效果
- js实现简单的二级联动效果
- 简单原生js实现开关门效果
- 分享超简单实用的用JS实现DIV、图片圆角效果,关键是很兼容
- JS简单实现自定义弹窗及程序中断,继续效果
- 简单实现js菜单栏切换效果
- js实现简单的省市县三级联动效果实例
- js实现简单的星级选择器提交效果适用于评论等
- JS简单实现tab切换效果的多窗口显示功能