繁体   English   中英

JS画布,如何使图像慢慢消失?

[英]JS Canvas, How to make an image slowly dissapear?

这是我现在拥有的代码:

 <!DOCTYPE html> <html> <head> <style> canvas{border:#666 2px solid; } </style> </head> <body> <canvas id="canvas1" width="1650" height="825" style="width: 650px; height: 330px;"></canvas> <script> var canvas,ctx,x,y,w,e; var slikeURL = [ "https://www.a1smallbusinessmarketing.com/images/prosbo_hires.jpg", "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Wiktionary_small.svg/350px-Wiktionary_small.svg.png", "http://www.jasonjsmith.com/img/small-business-seo.jpg", "https://g.twimg.com/business/page/image/11TwitterForSmallBusiness-300_1.png" ] var slike = slikeURL.map(url=>{var img = new Image(); img.src = url; return img}); function start_canvas() { var brojac = 0; function draw() { ctx.drawImage(slike[brojac], x, y); }; function draw1(w, e) { ctx.drawImage(slike[brojac], w, e); }; function update(time) { ctx.clearRect(0,0,canvas.width,canvas.height); if(w >= x) { e += 8; y += 8; } else { x -= 4; w += 4; }; if(slike){ ctx.drawImage(slike[brojac], x, y); ctx.drawImage(slike[brojac], w, e); } if (e > canvas.height) { brojac = (brojac + 1) % slike.length; x = canvas.width-190; y = 15; w = 1; e = 15; } requestAnimationFrame(update) }; canvas = document.getElementById('canvas1'); x = canvas.width-190; y = 15; w = 1; e = 15; ctx = canvas.getContext('2d'); requestAnimationFrame(update) } window.addEventListener("load",start_canvas); document.write(brojac); </script> </body> </html> 

我想发生的是,循环中的最后两个图像开始逐渐消失( 淡出)。 这是我所想到的一些简单图像

我希望两个图像像通常在代码中一样朝彼此移动,但是当图像的一部分越过不可见线时,该部分将被删除,直到整个图像消失,然后循环开始。

我确实尝试在移动图像时对其进行裁切,但无法完成该工作。 有什么想法可以做到吗? 先感谢您!

满足条件(图像索引)时,只需为要隐藏的区域添加一个额外的clearRect()即可。

 var canvas,ctx,x,y,w,e; var slikeURL = [ "https://www.a1smallbusinessmarketing.com/images/prosbo_hires.jpg", "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Wiktionary_small.svg/350px-Wiktionary_small.svg.png", "http://www.jasonjsmith.com/img/small-business-seo.jpg", "https://g.twimg.com/business/page/image/11TwitterForSmallBusiness-300_1.png" ] var slike = slikeURL.map(url=>{var img = new Image(); img.src = url; return img}); function start_canvas() { var brojac = 0; function draw() { ctx.drawImage(slike[brojac], x, y); }; function draw1(w, e) { ctx.drawImage(slike[brojac], w, e); }; function update(time) { ctx.clearRect(0,0,canvas.width,canvas.height); if(w >= x) { e += 8; y += 8; } else { x -= 4; w += 4; }; if(slike){ ctx.drawImage(slike[brojac], x, y); ctx.drawImage(slike[brojac], w, e); if (brojac > 0) ctx.clearRect(412,0,824,ctx.canvas.height); } if (e > canvas.height) { brojac = (brojac + 1) % slike.length; x = canvas.width-190; y = 15; w = 1; e = 15; } requestAnimationFrame(update) }; canvas = document.getElementById('canvas1'); x = canvas.width-190; y = 15; w = 1; e = 15; ctx = canvas.getContext('2d'); requestAnimationFrame(update) } window.addEventListener("load",start_canvas); document.write(brojac); 
 canvas{border:#666 2px solid; } 
 <canvas id="canvas1" width="1650" height="825" style="width: 650px; height: 330px;"></canvas> 

(根据需要调整区域)。

我怎么做<div>标签在 JS 20 秒后消失?</div><div id="text_translate"><p> 我正在为我的公司构建一个项目,我想知道<em>如何在 20 秒后使 div 消失?</em> 因为我正在构建一个带有position: -webkit-sticky; 和</p><pre>&lt;style&gt;.sticky { position: -webkit-sticky; position: sticky; }.areaWarning { width: 100%; height: 102px; background: lightgreen; display: inline-block; } &lt;/style&gt; &lt;div class="sticky"&gt; &lt;div class="areaWarning"&gt; &lt;h1&gt; This site is currently still being built &lt;/h1&gt; &lt;p&gt; We are still working on this site, sorry&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;</pre><p> 我只想知道如何使用 JavaScript 为该警告设置超时?</p><p> 谢谢,环形游戏</p></div>

[英]How do i make a <div> tag dissapear after 20 seconds with JS?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM