分享一段用canvas和JS制作刮刮乐的代码,JS部分去掉注释不到20行代码

效果如下

盖伦.jpg

刮刮乐.gif

HTML部分

![](img/gailun.jpg)

没什么要特别注意的

为了效果加了些CSS样式

CSS部分

*{

margin: 0;

padding: 0;

}

img{

width: 400px;

height: 300px;

left: 200px;

position: absolute;

z-index: -1;

}

canvas{

margin-left:200px;

}

注意

1.为了清除浏览器自带效果加了

*{

margin: 0;

padding: 0;

}

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

3.图片绝对定位

js部分

分析下逻辑

1.鼠标按下移动相应区域刮开

2.鼠标抬起改变鼠标位置不接着刮开

js代码

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

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

//画蒙布

context.beginPath();

context.fillStyle= 'grey'

context.fillRect(0,0,400,300);

//鼠标按下开刮

canvas.οnmοusedοwn=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.οnmοuseup=function(){

canvas.onmousemove = function(){

}

}

需要注意的是

1.图片和画布左移了200px,所以圆的起点坐标相对于获取位置减了200px;

2.globalCompositeOperation是画布的一个功能作用是设置或返回如何将一个源(新的)图像绘制到目标(已有)的图像上,还有其余10种写法

以上这篇20行JS代码实现网页刮刮乐效果就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

java刮刮乐,20行JS代码实现网页刮刮乐效果相关推荐

  1. java实现语法分析器_200 行 JS 代码,带你实现代码编译器

    一.前言 对于前端同学来说,编译器可能适合神奇的魔盒 ,表面普通,但常常给我们惊喜. 编译器,顾名思义,用来编译,编译什么呢?当然是编译代码咯 . 其实我们也经常接触到编译器的使用场景: React ...

  2. 【绘制】HTML5 Canvas 虚线和不到20行js代码实现蚂蚁线

    我的处女作<Canvas系列教程>在我的Github上正在连载更新,希望能得到您的关注和支持,让我有更多的动力进行创作. 教程介绍.教程目录等能在README里查阅. 传送门:https: ...

  3. 登顶 GitHub 趋势榜,标星1.8k:200 行 JS 代码让画面人物瞬间消失!

    整理 | 夕颜 出品 | CSDN(ID:CSDNnews) 今天,一个名为 Real-Time-Person-Removal(实时人物去除)项目在GitHub上火了,登上近日GitHub Trend ...

  4. 20行 Python 代码爬取王者荣耀全英雄皮肤 | 原力计划

    作者 | wangweijun 责编 | Elle 出品 | CSDN 博客 引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王 ...

  5. 20行Python代码爬取王者荣耀全英雄皮肤改进版

    0 写在前面 看了大神的这篇CSDN:20行Python代码爬取王者荣耀全英雄皮肤访问量那么高,忍不住想要蹭一下热点,但是蹭归蹭,总得有点货才行,于是我品我细品,发现其代码总体有三点我觉得值得改进的地 ...

  6. 如何运用python爬游戏皮肤_Python爬虫练习:20行Python代码爬取王者荣耀全英雄皮肤...

    引言王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工作 ...

  7. python爬虫脚本 初级入门爬虫英雄联盟所有皮肤_Python爬虫练习:20行Python代码爬取王者荣耀全英雄皮肤...

    引言王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工作 ...

  8. 隐身术?登顶 GitHub Top1:200 行 JS 代码让画面人物瞬间消失!

    整理 | 夕颜 出品 | CSDN(ID:CSDNnews) 今天,一个名为 Real-Time-Person-Removal(实时人物去除)项目在GitHub上火了,登上近日GitHub Trend ...

  9. python小游戏代码大全-20行python代码的入门级小游戏的详解

    背景: 作为一个python小白,今天从菜鸟教程上看了一些python的教程,看到了python的一些语法,对比起来(有其他语言功底),感觉还是非常有趣,就随手添了一点内容,改了一个小例程,当着练练手 ...

  10. 聚类 python 代码_不足 20 行 Python 代码,高效实现 k-means 均值聚类算法

    下载好向圈APP可以快速联系圈友 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 不足 20 行 Python 代码,高效实现 k-means 均值聚类算法-1.jpg (143.81 KB, ...

最新文章

  1. Ios文件连接dlna服务器,iOS播放多种视频格式,实现DLNA|AirPlay投射盒子总结
  2. Linux下给arm的引脚电平,ARM-Linux GPIO操作事宜
  3. 最java大子矩阵和问题_最大子矩阵问题实例解析
  4. OpenCV图像金字塔pyrDown和pyrUp的实例(附完整代码)
  5. TensorFlow模型实现:UNet模型
  6. HNOI2015 实验比较
  7. Windows7虚拟化体验之一:Windows7部署
  8. java 读取split_Java报错系列——split
  9. tf.contrib在tf2中无法使用
  10. 计算机音乐的制作流程,Premiere制作音乐电子相册的方法和流程 计算机类数媒...
  11. 苹果暗黑模式_DNF手游来了!时间已定;苹果商店首次加入暗黑模式;以上为本期内容...
  12. 我的世界服务器哪个有自动铺路,我的世界自动铺路指令是什么
  13. 计算机应用软件安装不了,应用程序无法正常启动,详细教您电脑应用程序无法正常启动0xc000007b怎么解决...
  14. 安装xposed(解决xposed问题)
  15. Qemu连接外网的配置方法
  16. python中列表概念_详解python列表
  17. 【已解决】【高速版】如何显示(扫描)局域网中所有的在线主机IP及MAC地址?
  18. 孟母三迁:学习中环境对人的影响特别的重要
  19. Java 偏斜锁 轻量级锁 自环锁 重量级锁
  20. linux的翻译系统开发,Linux下类似金山词霸的翻译软件

热门文章

  1. http://www.cnblogs.com/xd502djj/p/3473516.html
  2. abap --MOVE-CORRESPONDING
  3. 用java输出一个心型图案_开发工程师的浪漫--java打印心形图案
  4. R语言基于with函数对指定的协变量执行双样本t检验、t.test函数对不同分组对应的协变量的均值进行Welch双样本t检验分析、双独立样本t检验
  5. 012-P2P加速Docker镜像分发(阿里Dragonfly)
  6. 五种“网络钓鱼”实例解析及防范技巧(转)
  7. ViewportWidth,Width,MeasuredWidth
  8. CF1528B Kavi on Pairing Duty(dp)
  9. mysql explain row_MySQL explain详解
  10. 帝国cms没有标题图片就显示默认图片