js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2023-06-13 09:15:12 时间
绝对值得看的来篇,哈哈。本人亲自完成,有错误请大家指出:
现在的手机完美支持html5,所以如果手机端想要做个抽奖模块的话,用刮刮卡抽奖效果,相信这个互动体验是非常棒的
ps:由于本人没有wp8系统的手机,所以没法兼容wp8系统的,目前完美兼容android,IOS
如果要在pc浏览的话,得改下js,目前支持谷歌,火狐,ie>=10,如果网友想要的话我就去写个
代码如下:
复制代码代码如下:
现在的手机完美支持html5,所以如果手机端想要做个抽奖模块的话,用刮刮卡抽奖效果,相信这个互动体验是非常棒的
ps:由于本人没有wp8系统的手机,所以没法兼容wp8系统的,目前完美兼容android,IOS
如果要在pc浏览的话,得改下js,目前支持谷歌,火狐,ie>=10,如果网友想要的话我就去写个
代码如下:
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8"/>
<metaname="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0"/>
<title>erasereffect</title>
<scripttype="text/javascript"src="jquery.core.js"></script>
<style>
#canvas{
background:url(winning-ticket.jpg);<!--奖品图片-->
width:531px;
height:438px;
}
.before{
background:none!important;
}
#canvascanvas{
cursor:url("hand.png")00,auto;<!--PC端的手势图片-->
}
</style>
</head>
<bodyoncontextmenu="returnfalse;"onselectstart="returnfalse;">
<divid="canvas"></div>
</body>
<scripttype="text/javascript">
(function(){
window.onload=function(){
/**判断浏览器是否支持canvas**/
try{
document.createElement("canvas").getContext("2d");
}catch(e){
varaddDiv=document.createElement("div");
alert("您的手机不支持刮刮卡效果哦~!");
}
};
varu=navigator.userAgent,mobile="";
if(u.indexOf("iPhone")>-1)mobile="iphone";
if(u.indexOf("Android")>-1||u.indexOf("Linux")>-1)mobile="Android";
functioncreateCanvas(parent,width,height){
varcanvas={};
canvas.node=document.createElement("canvas");
canvas.context=canvas.node.getContext("2d");
canvas.node.width=width||100;
canvas.node.height=height||100;
parent.appendChild(canvas.node);
returncanvas;
}
functioninit(container,width,height,fillColor,type){
varcanvas=createCanvas(container,width,height);
varctx=canvas.context;
//defineacustomfillCirclemethod
ctx.fillCircle=function(x,y,radius,fillColor){
this.fillStyle=fillColor;
this.beginPath();
this.moveTo(x,y);
this.arc(x,y,radius,0,Math.PI*2,false);
this.fill();
};
ctx.clearTo=function(fillColor){
ctx.fillStyle=fillColor;
ctx.fillRect(0,0,width,height);
};
ctx.clearTo(fillColor||"#ddd");
canvas.node.addEventListener("touchstart",function(e){
canvas.isDrawing=true;
},false);
canvas.node.addEventListener("touchend",function(e){
canvas.isDrawing=false;
},false);
canvas.node.addEventListener("touchmove",function(e){
if(!canvas.isDrawing){
return;
}
if(type=="Android"){
varx=e.changedTouches[0].pageX-this.offsetLeft;
vary=e.changedTouches[0].pageY-this.offsetTop;
}else{
varx=e.pageX-this.offsetLeft;
vary=e.pageY-this.offsetTop;
}
varradius=20;
varfillColor="#ff0000";
ctx.globalCompositeOperation="destination-out";
ctx.fillCircle(x,y,radius,fillColor);
},false);
}
varcontainer=document.getElementById("canvas");
init(container,531,438,"#ff0000",mobile);
})();
</script>
</html>
相关文章
- 加密狗android,Android系统加密狗的设计与实现
- android+制作开机动画,Android 开机动画制作详解
- android签名命令行,Android系统签名位置及命令
- android okio使用方法,Android 开源框架 Okio 原理剖析「建议收藏」
- Android 中文 API (29) —— CompoundButton[通俗易懂]
- android退出app代码,Android应用退出代码各种方式
- Android蓝牙开发教程(一)——搜索蓝牙设备[通俗易懂]
- android activity singletask,Android Activity启动模式之singleTask实例详解
- android触摸屏事件,Android Touch事件分析
- android attrs获取_关于Android attrs 自定义属性的说明
- 怎样可以把手机app的文字复制出来_Android长按弹出选项框
- android开发环境搭建实验报告总结_android开发实验报告
- jenkins 之 Android 打包及上传至蒲公英
- 【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 获取 Activity 中的所有方法 | 获取方法上的注解 | 获取注解上的注解 | 通过注解属性获取事件信息 )
- 【Android 逆向】Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )
- 【错误记录】Android 应用安装后出现两个启动图标 ( 排查应用及依赖库中配置了 android.intent.category.LAUNCHER 的 Activity )
- 【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ① ( 下载 OpenCV 库 | Windows 中安装 OpenCV 库 )
- 安卓(Android)云真机平台
- 【错误记录】Android WebView 报错 ( 网页无法打开 位于 baiduboxapp://speec... 的网页无法加载, 因为 net::ERR_UNKNOW_URL_SCHEME )
- Android开发中遇到的问题(三)——eclipse创建android项目无法正常预览布局文件详解手机开发
- android加载大图,防止oom详解手机开发
- 深入理解Android IPC机制之Binder机制详解手机开发
- 研究显示美国运行iOS和Android的手机用户忠诚度平分秋色
- MacOS 与 iOS:由浅入深的连接(macos和ios)
- 开启一个崭新世界:Linux与iOS系统(linux系统ios)
- Android系统基于Linux内核,实现移动设备突破极限。(android linux内核)
- Android控件系列之ImageView使用方法
- android键盘事件和屏幕事件的运行原理及交互实现
- android弹出activity设置大小的方法
- Android中Java和JavaScript交互实例