使用jQuery实现掷骰子游戏

时间:2021-05-25

本文实例为大家分享了jQuery实现掷骰子游戏的具体代码,供大家参考,具体内容如下

直接新建一个html页面,需要在head中引入jquery,js,一些css代码以及js代码,如下:

<script type="text/javascript" src="jquery-1.8.3.min.js"></script><style type=text/css > .wrap{width:90px; height:90px; margin:120px auto 30px auto; position:relative} .dice{width:90px; height:90px; background:url(dice.png) no-repeat;} .dice_1{background-position:-5px -4px} .dice_2{background-position:-5px -107px} .dice_3{background-position:-5px -212px} .dice_4{background-position:-5px -317px} .dice_5{background-position:-5px -427px} .dice_6{background-position:-5px -535px} .dice_t{background-position:-5px -651px} .dice_s{background-position:-5px -763px} .dice_e{background-position:-5px -876px} p#result{text-align:center; font-size:16px} p#result span{font-weight:bold; color:#f30; margin:6px} #dice_mask{width:90px; height:90px; background:#fff; opacity:0; position:absolute; top:0; left:0; z-index:999}</style><script> $(function(){ var dice = $("#dice"); dice.click(function(){ dice.attr("class","dice");//清除上次动画后的点数 dice.css("cursor","default"); $(".wrap").append("<div id='dice_mask'></div>");//加遮罩 var num = Math.floor(Math.random()*6+1);//产生随机数1-6 dice.animate({left: '+2px'}, 100,function(){ dice.addClass("dice_t"); }).delay(200).animate({top:'-2px'},100,function(){ dice.removeClass("dice_t").addClass("dice_s"); }).delay(200).animate({opacity: 'show'},600,function(){ dice.removeClass("dice_s").addClass("dice_e"); }).delay(100).animate({left:'-2px',top:'2px'},100,function(){ dice.removeClass("dice_e").addClass("dice_"+num); $("#result").html("您掷得点数是<span>"+num+"</span>"); dice.css('cursor','pointer'); $("#dice_mask").remove();//移除遮罩 }); }); });</script>

其中要注意的jquery引入的路径,我是放在和该页面的相同路径下的。

页面body的代码如下:

<body><div id="dice" class="dice dice_1"></div> <p id="result">请直接点击上面的色子!</p></body>

需要额外的引入所有状态骰子的图片,注意图片名称

主要实现的基本原理就是在初始图片上添加点击事件,当点击发生的时候随机取数,然后根据数值去找dice.png这张图片对应骰子的位置

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章