html5中canvas画布实现手机端和移动端的刮刮乐效果
2016-02-19 14:37
841 查看
用html5中的canvas实现刮刮乐的效果
使用html+css实现背景的样式使用clearRect()方法实现挂去的作用
手机端使用addEventListener()监听
手机端滑动事件touchmove
实现的效果图
此图背景是来自网络html部分代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>刮刮乐</title> <script src="js/jquery-2.1.1.min.js" type="text/javascript"></script> <script src="js/api.js" type="text/javascript"></script> <style> .content{ width:900px; height: 500px; background: url("images/zj.jpg") no-repeat; margin: 0 auto; overflow: hidden; position: relative } p{ width: 300px;height: 50px; background: #fff; margin: 0 auto; margin-top: 380px; margin-left: 360px; line-height: 50px; text-align: center;display: block; } #Canvas{ margin-left: 360px;position: absolute; bottom: 70px;cursor: pointer} </style> </head> <body> <div class="content"> <p>谢谢惠顾</p> <canvas width="300" height="50" id="Canvas">你的浏览器版本太低</canvas> </div> </body> </html>
js代码:
window.onload=function(e){ var canva=document.getElementById("Canvas"); if(canva.getContext){ var inghei=100; canva2D=canva.getContext("2d"); canva2D.fillStyle="#ccc"; canva2D.fillRect(0,0,300,50); //鼠标移动到“灰色上” canva.onmousemove=function(e){ var canavOffest = $(canva).offset(); var canvX=Math.floor(e.pageX - canavOffest.left); var canvY=Math.floor(e.pageY-canavOffest.top); var canvY =canvY+ parseInt(inghei); lottery(canvX,canvY,canva2D); } function lottery(x,y,c){ c.clearRect(x,y-inghei,20,20); } //移动端手滑动 canva.addEventListener('touchmove',function(event){ //如果触屏时只有一只手 if(event.targetTouches.length == 1){ event.preventDefault();// 阻止浏览器默认事件,重要 var touch = event.targetTouches[0]; var canavOffest = $(canva).offset(); var canvX=Math.floor(touch.pageX - canavOffest.left); var canvY=Math.floor(touch.pageY-canavOffest.top); var canvY =canvY+ parseInt(inghei); lottery(touch.canvX,touch.canvY,canva2D); } },false); } }
本文代码:
http://download.csdn.net/detail/wu_niang/9436630
相关文章推荐
- iOS 工程功能实现之好用的第三方
- iOS开发-事件处理
- 实现友盟推送消息的完全自定义处理
- 区分微信内置浏览器
- iOS学习之Socket使用简明教程- AsyncSocket
- Android数据库高手秘籍(七)——体验LitePal的查询艺术
- unity 内存优化
- Android数据库高手秘籍(六)——LitePal的修改和删除操作
- 微信支付终于成功了(安卓、iOS)在此分享
- Android数据库高手秘籍(五)——LitePal的存储操作
- JS移动端滑屏事件
- iOS类别(Category)与扩展(Extension)
- Objective-C中的NSString,rangeOfString,hasPrefix,hasSuffix
- Cocos2dx一步一步实现Android端热更新(C++)
- 《从零开始学Swift》学习笔记(Day 10)——运算符是“ +、-、*、/ ”吗?
- Android学习-四大组件(BroadcastReceiver)
- Android数据库高手秘籍(四)——使用LitePal建立表关联
- Android开发随手记之二——二进制文件的相关操作
- Android 如何实现应用卸载反馈,卸载监控
- 第一章cocos2d-x