国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

20行JS代碼實現網頁刮刮樂效果

2019-11-19 16:16:23
字體:
來源:轉載
供稿:網友

分享一段用canvas和JS制作刮刮樂的代碼,JS部分去掉注釋不到20行代碼

效果如下

蓋倫.jpg

刮刮樂.gif

HTML部分

<body>  ![](img/gailun.jpg)  <canvas id="canvas" width="400" height="300"></canvas> </body>

沒什么要特別注意的

為了效果加了些CSS樣式

CSS部分

<style type="text/css">  *{   margin: 0;   padding: 0;  }   img{    width: 400px;    height: 300px;    left: 200px;    position: absolute;    z-index: -1;   }   canvas{    margin-left:200px;   }  </style>

注意

1.為了清除瀏覽器自帶效果加了

*{   margin: 0;   padding: 0;  }

2.img需要在灰布下面,加了z-index;

3.圖片絕對定位

js部分

分析下邏輯

1.鼠標按下移動相應區域刮開

2.鼠標抬起改變鼠標位置不接著刮開

js代碼

<script type="text/javascript">  var canvas = document.getElementById("canvas");  var context = canvas.getContext('2d');   //畫蒙布  context.beginPath();  context.fillStyle= 'grey'  context.fillRect(0,0,400,300);  //鼠標按下開刮  canvas.onmousedown=function(){   canvas.onmousemove = function(){    //獲取鼠標坐標    var x = event.clientX;    var y = event.clientY;    //destination-out    顯示原來的不在后來區域的部分    context.globalCompositeOperation = "destination-out";    context.beginPath();    context.arc(x-200,y,30,0,Math.PI*2);    context.fill();     }  }  //鼠標抬起不刮開  canvas.onmouseup=function(){   canvas.onmousemove = function(){    }  }   </script>

需要注意的是

1.圖片和畫布左移了200px,所以圓的起點坐標相對于獲取位置減了200px;

2.globalCompositeOperation是畫布的一個功能作用是設置或返回如何將一個源(新的)圖像繪制到目標(已有)的圖像上,還有其余10種寫法

以上這篇20行JS代碼實現網頁刮刮樂效果就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南皮县| 双柏县| 鸡东县| 永新县| 永定县| 武清区| 内丘县| 都江堰市| 松滋市| 太原市| 安陆市| 高邑县| 杨浦区| 昆山市| 应用必备| 洪泽县| 扎鲁特旗| 茂名市| 金昌市| 安溪县| 孟连| 库车县| 永德县| 金山区| 漯河市| 喀喇| 兴化市| 洪雅县| 山丹县| 安泽县| 长岛县| 韩城市| 石景山区| 苏州市| 开封市| 永新县| 家居| 墨竹工卡县| 探索| 新丰县| 永新县|