移動框

DEMO

項目描述:移動框,可以移動,並在內容顯示元素在BODY裡的座標

主要用到的元素: pageX/Y() or clientX/Ypush(),**pop()

源碼在DEMO裡面,這個項目的難點,第一個:如何確定移動框的offsetTop跟offsetLeft並賦值給移動框讓它動起來,第二個:如何讓紀錄移動軌跡,並能透過點擊回放。

分析第一個問題:

因為要讓移動框是動起來的,也就是說它的offsetTop跟offsetLeft是不固定的沒辦法直接賦值,但是當滑鼠點擊移動框在脫跩著移動的期間,滑鼠在盒子內的座標是固定的,也就是說如果用會動的座標(滑鼠相對整個頁面的座標)減去固定座標(滑鼠在盒子內的座標),就能夠得到盒子會動的座標並賦值讓它動起來。

分析第二個問題:
要能夠實現回放(倒退)就必須獲取到盒子的移動軌跡,要獲取點擊時(mousedown)跟移動時(mousemove)兩個的值才能過自然地動起來。先在數組中存取最開始的值,之後再每次點擊和移動時將座標存入(push)數組中。當點擊時播放順序要從最後再到最初,則能實現倒退功能。此時利用pop的特性*,每次取出最後插入數組中的座標並賦值給盒子,然後再運用setInterval來元素動起來,並限制條件當數組只剩最後一個數值(盒子的最初的位置),停止動畫。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值