html5 拖动效果怎么在手机上实现

html5 拖动效果怎么在手机上实现,第1张

html5 拖动效果在手机上实现方法是调用drag和drop一系列函数实现的。

注意:拖拽源在拖拽 *** 作结束将得到dragend事件对象,不管 *** 作成功与否。

举例:

定义可拖放内容

<div id="columns">

 <div class="column" draggable="true"><header>A</header></div>

 <div class="column" draggable="true"><header>B</header></div>

 <div class="column" draggable="true"><header>C</header></div>

</div>

2、监听拖动事件

可附加大量不同事件以监听整个拖放过程:

dragstart

drag

dragenter

dragleave

dragover

drop

dragend

a.这里是开始拖拽

function handleDragStart(e) {

 this.style.opacity = '0.4' // this / e.target is the source node.

}

var cols = document.querySelectorAll('#columns .column')

[].forEach.call(cols, function(col) {

 col.addEventListener('dragstart', handleDragStart, false)

})

b.dragenter、dragover 和 dragleave 事件处理程序可用于在拖动过程中提供额外的可视化提示。例如,在拖动期间将鼠标悬停在某一列上方时,其边框可能会变成虚线。这样,用户就能知道这些列也是放置的目标区域。

html5 视觉差滚动效果

原理就是一种利用控制各个图片层之间滚动的速度,来产生一种立体空间的效果,每个层都用一个png透明图片做为背景,然后滚动的时候控制一下每个不同的速度。

不过有两个方面需要注意:

1、以大量图片为特色的网站应该考虑图像的预加载问题,以便为用户提供更好更流畅的视觉体验;

2、某些网站页面在移动设备上的效果可能较之在PC上有所不同,一些功能也可能无法正常使用。

使用HTML5画布能够帮助我们快速实现简单的动画效果,基本原理如下:

每隔一定时间绘制图形并且清除图形,用来模拟出一个动画过程,可以使用context.clearRect(0, 0, x, y)方法来刷新需要绘制的图形

首先是绘制图形的方法,如下:

function myAnimation() {

ctx.clearRect(0, 0, canvas_size_x, canvas_size_y)

if (x_icon <0 || x_icon >canvas_size_x - size_x) {

stepX = -stepX

}

if (y_icon <0 || y_icon >canvas_size_y - size_y) {

stepY = -stepY

}

x_icon += stepX

y_icon += stepY

ctx.drawImage(anim_img, x_icon, y_icon)

}

以上方法每隔一定时间清除画布内容,并且重新计算绘制图形位置,一旦超过了画布大小,则反转坐标绘制图形。

下面是实际绘制图形方法:

function draw() {

var canvas = document.getElementById("canvas")

ctx = canvas.getContext("2d")

anim_img = new Image(size_x, size_y)

anim_img.onload = function() {

setInterval('myAnimation()', 5)

}

anim_img.src = 'http://www.gbtags.com/gb/networks/avatars/80x8013d6393f-a44c-4180-8cb6-7bf0e4776283.png'

}

以上方法将图形定义,并且调用实际绘制动画的方法,搞定!

如果大家对于HTML5绘制动画有兴趣,或者希望了解如何模拟物理动画效果,请阅读下面的互动教程,相信能够帮助你更好理解HTML画布:

附上出处链接:http://www.cnblogs.com/gbin1/p/4043276.html


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7307049.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存