手机端canvas刮奖无效果,PC端好好的

问题描述

手机端canvas刮奖无效果,PC端好好的

window.onload=function () {
var canvas = document.getElementById("birthday");
var width = window.screen.availWidth;
canvas.width = window.screen.availWidth;
canvas.height = width*2;
canvas.style.border = "1px solid red";
var context = canvas.getContext("2d");

        /*图像加载*/
        var image = new Image();
        image.src="a1.jpg";
        image.addEventListener('load',eventSheetloaded,false);
        function eventSheetloaded(){
            context.drawImage(image,0,0);
        }

        var linex = [];
        var liney = [];
        var lastX = -1;
        var lastY = -1;
        var flag = 0;

        //临时绘图数据
        var imageData = "";

        canvas.addEventListener('mousemove', onMouseMove, false);
        canvas.addEventListener('mousedown', onMouseDown, false);
        canvas.addEventListener('mouseup', onMouseUp, false);

        function onMouseMove(evt) {
            if (flag == 1) {

                var x = evt.layerX;
                var y = evt.layerY;
                linex.push(x);
                liney.push(y);
                context.lineTo(x,y);
                lastX = x;

        } lastY = y;

        context.lineCap="round";
        context.lineJoin="round";
        context.lineWidth = 20;
        context.shadowColor = 'white';

        context.strokeStyle = "rgba(0,0,0,0)";
        context.globalCompositeOperation="destination-out";
        context.stroke();
        context.strokeStyle = "rgba(254,0,0,0.1)";
        context.globalCompositeOperation="destination-out";
        context.stroke();
    }

        function onMouseDown(evt) {
            flag = 1;
            lastX = evt.layerX;
            lastY = evt.layerY;
            linex.push(lastX);
            liney.push(lastY);

            context.beginPath();
            context.moveTo(lastX,lastY);
        }

        function onMouseUp(evt) {
            flag = 0;
            context.clearRect(0,0,0,0);
        }

        function onMouseOut(evt){
            flag = 0;
            context.clearRect(0,0,500,400);
            reDraw();
        }

    };

            为什么呢·!?????

解决方案

手机上没有鼠标,你要增加对触摸的支持。

解决方案二:

http://www.2cto.com/kf/201402/276737.html

时间: 2024-12-29 14:18:43

手机端canvas刮奖无效果,PC端好好的的相关文章

轻松实现功能强大的Android刮奖效果控件(ScratchView)_Android

前言 我身边有一部分开发的小伙伴,存在着这样一种习惯.某一天,突然看到某一款 App 上有个很漂亮的自定义控件(动画)效果,就会绞尽脑子想办法去自己实现一发.当然,我自己也是属于这类型的骚年,看到某种效果就会手痒难耐琢磨着实现套路.个人觉得这是一种需求驱动进步的方法,当你绞尽脑子去实现自己想要的效果时,你就会发现你对 Android 自定义控件(动画)的知识体系认识越深,久而久之,自己也能轻松的造出各种控件(动画)效果.要是哪天,产品童鞋拿着个原型(或者对着某款 App )跟你讲:"XXXX,你

微信是手机端产物 即时性要稍强于手Q

摘要: 从数据上来看,手Q仍然领先微信很多,根据易观最近发布的2013Q1移动IM市场数据来看,在累计账号数与活跃账号数两项数据上,手Q都遥遥领先于微信(累计账号总数12.2亿,手Q占比38.07 从数据上来看,手Q仍然领先微信很多,根据易观最近发布的2013Q1移动IM市场数据来看,在累计账号数与活跃账号数两项数据上,手Q都遥遥领先于微信(累计账号总数12.2亿,手Q占比38.07%,微信占比27.97%;活跃账号总数6.2亿,手Q占比42.54%,微信占比23.38%).不过,在舆论热度上手

java-解决服务端与手机端共用session为题

问题描述 解决服务端与手机端共用session为题 现在项目中手机端和服务端共用一个session,服务端session设置是30分钟,出现一个问题是session过期了 手机端上的填写的东西保存不了,还总是退出重新登录. 现在是不能让手机端老是重新登陆,能不能有去掉这个共用session的方式,还能保证手机端不会退出重登. 解决方案 手机端用token验证,然后服务端把token保存,每次验证token吧

js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS_javascript技巧

绝对值得看的来篇,哈哈.本人亲自完成,有错误请大家指出: 现在的手机完美支持html5,所以如果手机端想要做个抽奖模块的话,用刮刮卡抽奖效果,相信这个互动体验是非常棒的 ​ps:由于本人没有wp8系统的手机,所以没法兼容wp8系统的,目前完美兼容android,IOS 如果要在pc浏览的话,得改下js,目前支持谷歌,火狐,ie>=10,如果网友想要的话我就去写个 代码如下: 复制代码 代码如下: <!DOCTYPE html> <html lang="en"&g

js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例

  这篇文章主要介绍了js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件,实例分析了javascript多种弹出层效果的实现技巧,非常具有实用价值,需要的朋友可以参考下 完整实例代码点击此处本站下载. 用法 ? 1 2 3 4 5 6 7 8 <input type="button" id="btn_dialog" value="打开浮层"/> <div id="dialog-content" style

鼠标-fullpage做的PC端网页适配手机端的问题

问题描述 fullpage做的PC端网页适配手机端的问题 fullpage的全屏滚动插件默认是不允许html和body出现滚动条的,现在PC端的网页想要适配在手机上,又不能缩放的太厉害,内容会很小看不清,理想方法时出现滚动条,让手机页面可以滑动滚动条看到网页全内容.但是貌似该插件禁掉滚动条手机上无法触发滚动效果. 如果在html和body上允许滚动条出现的话,PC端上每屏页面的横向滚动条会出现在页面最下方,可以用鼠标拖动,但是放在手机端,页面已经占满屏了,左右滑动无法触发横向滚动条的滚动效果(不

解决方案-java web项目,想实现从手机端浏览器向PC端推送消息。

问题描述 java web项目,想实现从手机端浏览器向PC端推送消息. 要求:实现微信浏览器中向PC端推送消息. 我用DWR在PC端能实现推送消息,但是在手机端浏览器中没有任何效果,不知道是我弄错了还是说DWR本身的原因. 问题:请问哪位大神能够给出一套可行的解决方案? 解决方案 服务器主动向android手机端推送消息---------Linux下实现使用js判断手机端和pc端浏览器内核 解决方案二: 借助服务器中转,你把数据推送到服务器,服务器在送到客户端. 解决方案三: GoEasyWeb

HTML5实现刮奖效果

原文:HTML5实现刮奖效果 要实现刮奖效果,最重要的是要找到一种方法:当刮开上层的涂层是就能看到下层的结果.而HTML5的canvas API中有一个属性globalCompositeOperation,这个属性有多个值,而实现刮奖效果要用到的值就是destination-out.意思就是:在已有内容和新图形不重叠的地方,已有内容保留,所有其他内容成为透明.这样可能不好理解,后面实现的时候会解释.有了globalCompositeOperation这个属性,实现过程就很简单了. 我们需要有两个

分享Android仿刮奖效果控件_Android

本文实例为大家分享了Android刮刮卡效果控件,供大家参考,具体内容如下 刮刮卡类: package com.reyo.view; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Canvas; import android.graphics.Paint; import android.gr