JQuery Mobile是一種基于HTML5和CSS3的開源框架,它的目標是為移動設備提供一種易于使用的界面和工具。在jQuery Mobile中,有一個很酷的功能,即滑動刮獎。下面讓我們一起來體驗一下!
<div data-role="page"> <div data-role="header"> <h1>刮刮樂</h1> </div> <div data-role="content" id="content-id" > <canvas id="canvas" style="background-color:#f1f1f1;"></canvas> </div> </div>
以上代碼是我們的頁面結構,我們需要引入jQuery和jQuery Mobile的庫以及JS代碼來實現刮刮樂效果。
$(document).on('ready', function(){ if(!isCanvasSupported()){ alert("你的瀏覽器不支持canvas,請換個瀏覽器吧!"); return; } var ctx = document.getElementById('canvas').getContext('2d'); var img = new Image(); img.onload = function(){ ctx.drawImage(img,0,0); } img.src = 'images/prize.png'; $('#canvas').on('touchstart', function(e){ var x = e.originalEvent.changedTouches[0].pageX - $(this).offset().left; var y = e.originalEvent.changedTouches[0].pageY - $(this).offset().top; ctx.globalCompositeOperation='destination-out'; ctx.beginPath(); ctx.arc(x, y, 25, 0, Math.PI*2, false); ctx.fill(); ctx.globalCompositeOperation='source-over'; }); }); function isCanvasSupported(){ var elem = document.createElement('canvas'); return !!(elem.getContext && elem.getContext('2d')); }
我們首先檢測瀏覽器是否支持canvas,如果不支持,我們就提示用戶更換瀏覽器。如果支持,則在畫布上繪制一張背景圖,并監聽觸摸事件。當用戶在畫布上滑動手指時,我們將整個操作都包裹在一條路徑中,并將該路徑的混合模式設置為'destination-out',這樣就會清除該路徑覆蓋的部分。
綜上所述,基于jQuery Mobile的滑動刮獎效果實現起來十分簡單,只需幾行代碼即可。如果您也喜歡jQuery Mobile提供的易用性和美觀性,那么就趕快來嘗試一下刮刮樂吧!