html刮刮乐百分比,jQuery+html5实现彩票刮刮乐效果

b56c5fe67a14f88e01b2e313c6ade952.png

我们运用HTML5的画布Canvas,结合其提供的API,在Canvas元素上绘制一个灰色蒙层,然后借助测试用户鼠标移到和手势来描绘一个透明的图形,这样才能看见Canvas背景下的真实照片html5 canvas 刮刮乐,就达到刮刮卡效果。

big.jpg

分类:手机特效> canvas难易:中级

4ea70b98722d0ba1486e7388d5c38baa.png

程序员,你不是一个人;网站开发QQ群:642228541,充值,或联系QQ321037704直接充值

查看演示下载资源:265次

手机扫码访问:

1-373-png_6_0_0_0_0_0_0_892.979_1262.879-893-0-2281-893.jpg

下载资源下载积分:20积分

52cd998dcafd1123d8e33f0b6e88ce57.png

首先禁止鼠标拖动,目的是让鼠标能在照片上实现刮彩票的效果。

var bodyStyle = document.body.style;

bodyStyle.mozUserSelect = 'none';

bodyStyle.webkitUserSelect = 'none';

然后实例化图片类,获取canvas画布,并修改背景为透明和定义position为absolute。下面用到2张随机图片作为演示模型,你也可以在imgs 里面加多个截图。

9a1f8e357755a0a90c86cf9faf16dbea.png

var img = new Image();

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

canvas.style.backgroundColor='transparent';

canvas.style.position = 'absolute';

var imgs = ['p_0.jpg','p_1.jpg'];

var num = Math.floor(Math.random()*2);

img.src = imgs[num];

当到照片加载完的之后,需定义截图的相关属性和变量,函数layer()用来绘制一个灰色的正方形,eventDown()定义了按下事件eventUp()定义了松开事件html5 canvas 刮刮乐,eventMove()定义了移动事件,其中当按下时,获取坐标位移,并借助arc(x, y, 10, 0, Math.PI * 2)来绘制小圆点。

img.addEventListener('load', function(e) {

var ctx;

var w = img.width,

h = img.height;

var offsetX = canvas.offsetLeft,

offsetY = canvas.offsetTop;

var mousedown = false;

function layer(ctx) {

ctx.fillStyle = 'gray';

ctx.fillRect(0, 0, w, h);

}

function eventDown(e){

e.preventDefault();

mousedown=true;

}

function eventUp(e){

e.preventDefault();

mousedown=false;

}

function eventMove(e){

e.preventDefault();

if(mousedown) {

if(e.changedTouches){

e=e.changedTouches[e.changedTouches.length-1];

}

var x = (e.clientX + document.body.scrollLeft || e.pageX) - offsetX || 0,

y = (e.clientY + document.body.scrollTop || e.pageY) - offsetY || 0;

with(ctx) {

beginPath()

arc(x, y, 10, 0, Math.PI * 2);//绘制圆点

fill();

}

}

}

//...

});

最后,通过canvas调用以上方程,绘制图形,并且侦听触控及鼠标事件,调用相应的变量,我们看下代码:

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/ruanjian/article-121570-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值