最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

原生JavaScript實(shí)現(xiàn)刮刮樂(lè)

 更新時(shí)間:2020年09月29日 14:43:20   作者:Let me shine  
這篇文章主要為大家詳細(xì)介紹了原生JavaScript實(shí)現(xiàn)刮刮樂(lè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)刮刮樂(lè)的具體代碼,供大家參考,具體內(nèi)容如下

原理

鼠標(biāo)按住移動(dòng)的時(shí)候,實(shí)現(xiàn)刮刮樂(lè)的效果,那就是鼠標(biāo)按下的同時(shí)鼠標(biāo)移動(dòng),那就清除畫(huà)布。松開(kāi)鼠標(biāo),鼠標(biāo)移動(dòng)不再清除畫(huà)布了,那就得清除事件。

canvas畫(huà)布

1、獲取畫(huà)布元素

var canvas = document.getElementById('canvas');

2、獲取繪圖對(duì)象getContext

var ctx = canvas.getContext('2d');

3、畫(huà)線

ctx.lineWidth = 3;//線寬
ctx.strokeStyle = 'red';//線條顏色
//開(kāi)始的位置 moveTo(x,y);
//結(jié)束的位置lineTo(x,y)
//執(zhí)行stroke()

4、矩形ctx.rect(x,y,width,height);

ctx.rect(0,0,300,150);
ctx.fillStyle = '#ccc';//填充的顏色
ctx.fill();//執(zhí)行
ctx.clearRect(e.clientX,e.clientY,20,20);//清除矩形

頁(yè)面

1、頁(yè)面結(jié)構(gòu)

<canvas id="canvas" width="300" height="150" style="border: 1px solid #ccc;"></canvas>
<div class="prize">謝謝惠顧</div>

2、樣式

.prize {
 width: 300px;
 height: 150px;
 text-align: center;
 line-height: 150px;
 margin-top:-150px;
 color: red;
 font-size: 20px;
}

3、動(dòng)畫(huà)

//獲取畫(huà)布元素
 var canvas = document.getElementById('canvas');
 // 獲取繪圖對(duì)象
 var ctx = canvas.getContext('2d');
 ctx.lineWidth = 3;//線寬
 ctx.strokeStyle = 'red';//線條顏色
 //開(kāi)始的位置 moveTo(x,y);
 //結(jié)束的位置lineTo(x,y)
 //執(zhí)行stroke()

 //矩形
 ctx.rect(0,0,300,150);
 ctx.fillStyle = '#ccc';//填充的顏色
 ctx.fill();//執(zhí)行
 ctx.clearRect(e.clientX,e.clientY,20,20);
 // 按下
 canvas.onmousedown = function (e){
  //移動(dòng)
  canvas.onmousemove = function (e) {
   // ctx.lineTo(e.clientX,e.clientY);
   // ctx.lineTo(100,100)
   // ctx.stroke();
   ctx.clearRect(e.clientX,e.clientY,20,20);//清除
  }
 }
 canvas.onmouseup = function (e) {
  canvas.onmousemove = null;
 }
 // 改變中獎(jiǎng)信息
 var arr = ['一個(gè)億','現(xiàn)金500','100元話(huà)費(fèi)','騰訊視頻VIP月卡','謝謝惠顧'],
  prize = document.querySelector('.prize'),
  random = Math.floor(Math.random()*arr.length);
 prize.innerText = arr[random];

完整源碼

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  /*----------js刮刮樂(lè)------------*/
  .prize {
   width: 300px;
   height: 150px;
   text-align: center;
   line-height: 150px;
   margin-top:-150px;
   color: red;
   font-size: 20px;
  }
 </style>
</head>
<body>
<!--js刮刮樂(lè)-->
<canvas id="canvas" width="300" height="150" style="border: 1px solid #ccc;"></canvas>
<div class="prize">謝謝惠顧</div>

<script>
 // ------------js刮刮樂(lè)-----------
 //獲取畫(huà)布元素
 var canvas = document.getElementById('canvas');
 // 獲取繪圖對(duì)象
 var ctx = canvas.getContext('2d');
 ctx.lineWidth = 3;//線寬
 ctx.strokeStyle = 'red';//線條顏色
 //開(kāi)始的位置 moveTo(x,y);
 //結(jié)束的位置lineTo(x,y)
 //執(zhí)行stroke()

 //矩形
 ctx.rect(0,0,300,150);
 ctx.fillStyle = '#ccc';//填充的顏色
 ctx.fill();//執(zhí)行
 ctx.clearRect(e.clientX,e.clientY,20,20);
 // 按下
 canvas.onmousedown = function (e){
  //移動(dòng)
  canvas.onmousemove = function (e) {
   // ctx.lineTo(e.clientX,e.clientY);
   // ctx.lineTo(100,100)
   // ctx.stroke();
   ctx.clearRect(e.clientX,e.clientY,20,20);//清除
  }
 }
 canvas.onmouseup = function (e) {
  canvas.onmousemove = null;
 }
 // 改變中獎(jiǎng)信息
 var arr = ['一個(gè)億','現(xiàn)金500','100元話(huà)費(fèi)','騰訊視頻VIP月卡','謝謝惠顧'],
  prize = document.querySelector('.prize'),
  random = Math.floor(Math.random()*arr.length);
 prize.innerText = arr[random];
 // ------------js刮刮樂(lè)-----------
</script>
</body>
</html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信小程序中使用vant組件庫(kù)的超詳細(xì)圖文教程

    微信小程序中使用vant組件庫(kù)的超詳細(xì)圖文教程

    說(shuō)到vant框架相信大家應(yīng)該并不陌生了吧,做過(guò)移動(dòng)端開(kāi)發(fā)的小伙伴們應(yīng)該都知道它吧,下面這篇文章主要給大家介紹了關(guān)于微信小程序中使用vant組件庫(kù)的超詳細(xì)圖文教程,需要的朋友可以參考下
    2023-03-03
  • 基于Bootstrap的UI擴(kuò)展 StyleBootstrap

    基于Bootstrap的UI擴(kuò)展 StyleBootstrap

    這篇文章主要為大家詳細(xì)介紹了基于Bootstrap的UI擴(kuò)展: StyleBootstrap,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 談?wù)凧avaScript中super(props)的重要性

    談?wù)凧avaScript中super(props)的重要性

    今天小編就為大家分享一篇關(guān)于談?wù)凧avaScript中super(props)的重要性,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • JS如何將秒數(shù)轉(zhuǎn)化為時(shí)分秒的形式

    JS如何將秒數(shù)轉(zhuǎn)化為時(shí)分秒的形式

    在實(shí)際工作中經(jīng)常會(huì)遇見(jiàn)把秒數(shù)轉(zhuǎn)化為時(shí)分秒的問(wèn)題,如何處理呢?下面這篇文章主要給大家介紹了關(guān)于JS如何將秒數(shù)轉(zhuǎn)化為時(shí)分秒形式的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • js實(shí)現(xiàn)簽到日歷

    js實(shí)現(xiàn)簽到日歷

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)簽到日歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 在JavaScript中讓this保持正確的指向的解決方案

    在JavaScript中讓this保持正確的指向的解決方案

    這篇文章主要介紹了關(guān)于在 JavaScript 中如何讓 this 保持正確的指向的解決方案,文中給大家介紹了三種解決方案,使用閉包,使用箭頭函數(shù)和換綁 this這三種方法,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-01-01
  • JavaScript數(shù)據(jù)結(jié)構(gòu)之鏈表各種操作詳解

    JavaScript數(shù)據(jù)結(jié)構(gòu)之鏈表各種操作詳解

    數(shù)據(jù)結(jié)構(gòu)是一種有效處理大量數(shù)據(jù)的手段,了解它的結(jié)構(gòu)和組成為我們提供了更有效的工具來(lái)設(shè)計(jì)與某些問(wèn)題相關(guān)的產(chǎn)品。這次我們將進(jìn)行鏈表介紹,回顧它的特點(diǎn)和用途
    2022-10-10
  • JavaScript函數(shù)、方法、對(duì)象代碼

    JavaScript函數(shù)、方法、對(duì)象代碼

    函數(shù)定義可以嵌套在其他函數(shù)中,常用作子函數(shù)。但不能出現(xiàn)在循環(huán)或條件語(yǔ)句中。
    2008-10-10
  • JS中移除非數(shù)字最多保留一位小數(shù)

    JS中移除非數(shù)字最多保留一位小數(shù)

    這篇文章主要介紹了JS中移除非數(shù)字最多保留一位小數(shù)的實(shí)現(xiàn)代碼,文章給大家提到了js處理數(shù)字保留2位小數(shù),強(qiáng)制保留2位小數(shù)不夠補(bǔ)上.00的完整代碼,感興趣的朋友一起看看吧
    2018-05-05
  • javascript利用控件對(duì)windows的操作實(shí)現(xiàn)原理與應(yīng)用

    javascript利用控件對(duì)windows的操作實(shí)現(xiàn)原理與應(yīng)用

    假如要發(fā)送漢字的聊天框的內(nèi)容的話(huà),我們也要從windows消息機(jī)制下手,先找到聊天消息的句柄(可以利用findwindow函數(shù)或者用spy工具哈),然后在找到上面的聊天框的句柄,接著我們就可以想這個(gè)句柄發(fā)送WM_SETTEXT的消息了
    2012-12-12

最新評(píng)論

富宁县| 专栏| 桂东县| 东丰县| 边坝县| 台东市| 德化县| 绥棱县| 翁源县| 乌审旗| 且末县| 八宿县| 梧州市| 锦屏县| 米林县| 黄大仙区| 密云县| 新巴尔虎左旗| 平顺县| 尼木县| 革吉县| 石嘴山市| 麻栗坡县| 韶关市| 酉阳| 无棣县| 通道| 福清市| 海城市| 桃源县| 韩城市| 木兰县| 山东省| 吕梁市| 苏州市| 阿拉尔市| 开化县| 鄄城县| 黔西县| 无极县| 昌乐县|