使用Jquery實現擲骰子
阿新 • • 發佈:2018-12-14
直接新建一個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這張圖片對應骰子的位置