**:
<template
>
<
div
class
="floatball"
id="floatball"
@mousedown
="down"
@touchstart.stop
="down"
@mousemove
="move"
@touchmove.stop
="move"
@mouseup
="end"
@touchend.stop
="end"
:style
="">
獎勵規則
div>
template
>
<
script
>
//滑鼠位置和div的左上角位置 差值
vardx, dy
varscreenwidth
=window.screen.width
varscreenheight
=window.screen.height
export
default
, }
},methods:
else
console.log(
'滑鼠點所在位置
', touch.clientx, touch.clienty)
console.log(
'div左上角位置
', event.target.offsettop, event.target.offsetleft)
dx =touch.clientx
-event.target.offsetleft
dy =touch.clienty
-event.target.offsettop
},move()
else
//定位滑塊的位置
this
.position.x
=touch.clientx
-dx;
this
.position.y
=touch.clienty
-dy;
//限制滑塊超出頁面
'螢幕大小', screenwidth, screenheight )if(
this
.position.x
<
0)
elseif(
this
.position.x
>
screenwidth
-touch.target.clientwidth)
if(this
.position.y
<
0)
elseif(
this
.position.y
>
screenheight
-touch.target.clientheight)
//阻止頁面的滑動預設事件
document.addeventlistener(
"touchmove",
function
() ,
false
); }
},//滑鼠釋放時候的函式
end() ,}}
script
>
<
style
>
.floatball
style
>
移動端觸屏實現元素拖拽功能
手指拖拽 options引數控制水平或垂直方向是否可以拖拽 function drag el,options 手指按下點座標 var downpoint 本次手指按下是否有滑動 var istouchmove false el.addeventlistener touchstart handlest...
移動端觸屏滑動拖拽
移動端觸屏滑動的效果其實就是輪播,在pc的頁面上很好實現,繫結click和mouseover等事件來完成。但是在移動裝置上,要實現這種輪播的效果,就需要用到核心的touch事件。處理touch事件能跟蹤到螢幕滑動的每根手指。以下是四種touch事件 touchstart 手指放到螢幕上時觸發 tou...
vue移動端可拖拽功能
類似手機上桌面的小氣泡,可隨意拖動 1 首先在vue的公共元件中 components 新建個元件 拖拽滑動 default drag comp click gonext touchstart down touchmove move touchend end tel storeitems iconf...