1. 程式人生 > >使用Jquery實現擲骰子

使用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這張圖片對應骰子的位置