https://github.com/muzqi/Article/blob/master/blog/canvas_1_eraser.md
该功能实现很简单,就是根据手指坐标位置在画板上画 1.效果图 2.代码实现 public class ErinieShow extends RelativeLayout { Context
一、实现原理与所需技术 Android刮刮乐效果的实现,自定义view,绘制出中奖信息,将一张图片绘制在中奖信息的上层,通过onTouchEvent监听用户手势,通过path记录绘制轨迹...实现效果图如下: ? 二、绘制中奖信息 canvas绘制在bitmap上,所以在onMeasure ()方法中,首先初始化bitmap和canvas ? 初始化画笔: ?...此时运行我们看到的效果是,未刮开之前的效果。...四、‘刮’实现 刮实现主要对用户手势进行监听,通过path.moveto(),进行轨迹的绘制,完成后通过调用invalidate()方法进行重绘。...最终即实现刮刮乐效果。 源码地址:https://download.csdn.net/download/huangliniqng/10484392
效果图 设计流程 设计思路 canvas设置背景图,作为中奖图片; 在canvas上绘制刮的灰色涂层; 通过绑定的事件,清除对应区域的涂层; 最后判断涂层清除区域是否超过设置的可见百分比,如果超过则全部涂层清除...this.ctx = wx.createCanvasContext(this.canvasId, this); this.drawMask(); this.bindTouch(); } 3、涂层绘制函数的实现...(this.maskColor); this.ctx.fillRect(0, 0, this.width, this.height); this.ctx.draw(); } 4、事件绑定函数的实现...this.ctx.clearRect(0, 0, _this.width, _this.height); _this.ctx.draw(); } } } 5、eraser橡皮擦函数的实现...方法一:本文提供的方法是将中奖图片作为背景设置给canvas,然后清除canvas涂层来实现刮刮乐效果。
然而,这一已经非常成熟的形式,在向移动端移植的时候,我们却遇到了实际问题: 第一是实现方式。...过去Flash技术开发的大转盘、老虎机之类的东东,在移动端的兼容性简直惨不忍睹,但是换做 JS 开发,又面临时间成本太高、效率太低的窘境,无法快速应对多样且善变的定制化需求。 第二是表现方式。...gteffect01.jpg 那么,既要抽奖,又要兼顾移动端体验,更要兼备清晰的表现形式及创新点,我们该怎么办?...下面请欣赏全家福:) gteffect03 亲,请用硬币使劲的刮屏幕,就可以刮出巨奖哦……刮坏 7 块屏幕者可以召集神龙!”这只是个玩笑!用手指涂抹就可以刮出奖啦,妈妈再也不用担心刮奖弄脏我的指甲!...gteffect04 技术实现手段 gteffect05 代码实现 (function(bodyStyle) { bodyStyle.mozUserSelect = 'none'; bodyStyle.webkitUserSelect
事件 document.addEventListener('fullscreenchange', () => { console.log('fullscreenchange') }) Vue项目实现地址
使用RequestAnimationFrame,核心部分就是利用transformX实现位移 Js 逻辑写的比较挫,还要想想怎么改进,或者有更好的思路。...然后就是如何计算第一个p标签和第二个p标签移出了可视区域,可视区域不一定是屏幕宽度,可能是一个div设置了width和overflow实现的。 另外就是从左往右以及从右往左的区别。...之类的一个倍数,用这个倍数和 目前正在变化时拿到的translateX的值 / 可视区域的宽度 假设是3倍,那么第二步计算出的值如果正好是3,说明文字的末尾已经出现在‘可视区域’,此时➕一个系数x,就可以实现两段文字的间隔
做开发久了,会越来越依赖框架,毕竟利用框架可以快速的完成工作任务,如常见的分页效果,只需要与后端配合,由后端返回总页数和当前第几页这两个参数传给一些框架的分页功能,就可以轻松的实现分页效果,那如果在不依赖框的情况下利用原生...JS如何实现一个分页效果呢?...接下来给大家分享一段分页代码实现下面的效果。 ? 原生JS...实现分页效果 a { margin: 5px; }
给大家分享一个用原生JS实现的魔方效果,效果如下: 以下是代码实现: 原生JS实现魔方效果 <style type=
近期正在鼓捣个人网站,想实现进入网站自动弹出二维码的效果,类似下面这样: ?...中间磨磨唧唧从原生JS找到JS插件,浪费了不少精力和时间,但是也磕磕碰碰学到了些知识,建议读者:想学一下弹窗的JS实现代码的可以看看前两小节,只想实现效果的,直接复制源码就行!...一 点击鼠标实现弹出/隐藏图片 ? 实现原理:一个div做容器,里面包含了二维码图片,把标题(鼠标点击的目标)做一个onclick监听,用div的display属性控制图片的显示和隐藏。...利用jquery.popup.js可以实现图中炫酷的动画效果, 支持animate.css。...">x js/jquery-1.11.0.min.js" type="text/javascript"> <script
-- 图片部分,style部分设置便于js中改变偏移量,从而实现图片轮播--> 14 15...-- 箭头部分,实现下一张,上一张效果 --> 25 < 26...-- html body部分加载完成,最后调用js,进行操作;否则无法有效操作 --> 40 js"></script...{ 92 background-color: red; 93 } 94 .point span:active{ 95 background-color: gold; 96 } 1.js...(); 14 } 15 // 点击左箭头,上一张图片 16 arrow_left.onclick = function() { 17 prev_pic(); 18 } 19 20 // 函数实现下一张浏览效果
2015-04-07 11:42:58 在我们浏览网页的时候,经常会看到照片循环播放的效果,这种效果有时候也会应用在商品的展示,通过图片的轮播可以有效的展示所有图片,并且节约网页空间,同时优化了网页的视觉效果...,下面看一下实现的代码: <DIV id=demo style="OVERFLOW: hidden...150px; height: 100px; display:block;} a:hover{ background: url(02.jpg) no-repeat;} 这段简单的代码就实现了这种图片轮播的效果...,其实这种效果还有一个别名,就是我这个标题所说的跑马灯。...有兴趣的朋友还可以拓展一下,把table改为div或者其他形式,在增加一下js特效也非常好。
2015-04-15 14:06:09 今天我来给大家介绍一种js特效,这种特效是当你用鼠标点击组件移动到其他地方后,这个组件就定在了那个地方,这种效果通常用来做视图化排版的。...p>column3 item4 这段代码是html代码,主要是大体的div布局,我们在这里的组件用的是div,通过下面的js...代码来实现组件的移动 js"> <script type="text/javascript...;border-bottom:solid 1px #CCCCCC;background:#CCCCCC;color:white;cursor:move;} 这样就可以实现组件的移动了...,在上面这段代码中需要引入Drag.js文件,本站提供下载链接,点击下面的下载即可。
所以为了实现动画效果,我们必须创造出时间间隔来,而这正是实现动画效果的关键!所以我们来说下时间动画效果的第二个要素时间! ...document.getElementsByName) return false; return true; } 上面这段代码完美的实现了我们想要实现的动画效果...,通过每次移动一点位置和setTimeout()函数配合,实现了这个效果,代码观察代码发现上面这段代码还可以优化,让它变得更加的通用!...上面这段代码实现的特效的是:当鼠标放到超链接上,就能以动画的效果显示对应的字母。...效果很酷,但是代码存在一点小瑕疵,这点我们经常容易忽视,问题就是,当我们把鼠标指针在链接之间快速的来回移动,动画效果将变得混乱起来。
其原理是:第一张图片(5.jpg)和最后一张图片(1.jpg)的作用是为了实现无限滚动的效果,因为此效果是通过设置id为list的div容器的left值来实现图片切换的,所以当轮播到第五张图片(5.jpg...由于最后一张图片就是第一张图片(1.jpg),所以用户肉眼看上去没有什么变化,就这样实现了无限滚动的效果,其他同理!...好了,最重要的还是JS实现轮播效果: 首先来实现最简单的通过左右按钮来实现切换: window.onload = function () { var container = document.getElementById...,之前已经实现的效果是直接切换,而我们想要的是能够平滑过渡,体验会好一些。...最后实现自动播放效果,当鼠标不点击时,它能自动播放,这里用到setInterval定时器,每次3秒执行一次点击事件,而当鼠标移上去的时候清除该事件,离开的时候又自动播放。
今年是兔年,随手写个兔年祝福语刮刮乐,祝大家新年快乐(迟到的祝福)。 刮刮乐设计 刮刮乐大家都知道,无论是实体票子的刮奖还是虚拟活动的电子刮奖基本都使用这种方式。我们先来做下刮刮乐的设计。...刮奖代码 然后开始我们的核心代码了,初始化时我们在文字涂层渲染上随机的兔年祝福语文字,然后在画布涂层涂上刮奖颜料颜色。...此处我们用到的混合模式为 destination-out,他会将原图中的新图存在颜色的位置全部擦除,从而实现我们想要的刮刮乐效果。...开奖 上面我们已经基本完成了我们的刮刮乐效果,不过电子刮刮乐在最后还需要清空所有遮挡区域显示全部文字,这样可以让体验更好,如果要细致一点的实现会非常复杂,需要收集所有擦除区域的面积,然后计算占比,不过我们这里使用一种非常简单的方式来做这件事情...这样就可以达到一个简单的开奖效果了。
原生JS实现Tab切换效果 效果展示 <!...tabPanels[index].classList.add('active'); } }) 原生JS...实现模态框效果 效果展示 <!
背景 之前公司项目有一个刮奖小游戏的需求,因此有了本文记录该“刮刮乐”游戏的实现过程。 话不多说,先上 Demo 和 项目源码. 2....刮奖这一行为其实是canvas对鼠标或者touch的移动路径进行绘画,只不过是将绘画的路径变成了透明,这种效果我们通过设置 ctx.globalCompositeOperation = 'destination-out...ctx.arc(x, y, 20, 0, Math.PI * 2); ctx.fill(); } } } 复制代码 (3)刮奖完毕的实现...上述代码实现刮奖的效果,但是一般的场景是用户刮奖的面积超过一半时,覆盖图层全部散开,此时为刮奖完成的状态。...如何知道刮奖的面积超过一半了呢?
2015-04-20 03:53:02 今天为大家介绍一个效果,效果是实现元素有从远处飞入的效果,例如说一个人伸着拳头飞出来这样,具体的例子可以查看下面的演示,在这里我实现的是文字的飞入效果,他还可以实现图片等其他元素的飞入效果...我先来贴一下代码吧 落帆亭实现元素飞入效果 .center {position: absolute...;width: 100%;height: 100%;margin: 0;overflow: hidden;} js.../jquery-2.0.0.min.js"> js/TweenMax.min.js" type="text/javascript" charset="utf-...另外本站还提供上面需要的两个js文件,有需要的朋友可以下载。
在做web前端的时候,有些时候会涉及到模态层,在此提供一种实现思路,希望对大家有用。先贴效果吧: ?...模态层效果 下面说说在写模态层的时候的思路:通过可配置的参数width,height,title以及content用来设定弹出的信息框显示的内容,并通过可配置参数container用来设定模态层显示的区域...思路很简单,主要是一些css样式和js处理,详见源码: modal.css html,body{ font-size: 12px; font-family: "微软雅黑"; } .modal...hover{ cursor: pointer; } .content{ padding-left: 10px; padding-top: 10px; } jquery.modal.js..."> js"> <script type="text
领取专属 10元无门槛券
手把手带您无忧上云