悬浮球

红太狼 2021-04-19 14:39 654阅读 0赞
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
  6. <title>悬浮球</title>
  7. </head>
  8. <body>
  9. <div id="id" style="width: 35px;height: 35px;position: fixed;left: 0px;top: 100px"><img style="width: 35px;height: 35px;" src="qiu.png"></div>
  10. <script type="text/javascript">
  11. var _x_start,_y_start,_x_move,_y_move,_x_end,_y_end,left_start,top_start;
  12. var tarDiv = document.getElementById("id");
  13. //按下
  14. tarDiv.addEventListener("touchstart",function(e) {
  15. _x_start=e.touches[0].pageX;//起始点击位置
  16. _y_start=e.touches[0].pageY;//起始点击位置
  17. left_start = tarDiv.style.left;//元素左边距
  18. console.log( left_start )
  19. top_start = tarDiv.style.top;//元素上边距
  20. });
  21. //移动
  22. tarDiv.addEventListener("touchmove",function(e) {
  23. e.preventDefault();//取消事件的默认动作。
  24. _x_move=e.touches[0].pageX;//当前屏幕上所有触摸点的集合列表
  25. _y_move=e.touches[0].pageY;//当前屏幕上所有触摸点的集合列表
  26. //左边距=当前触摸点-鼠标起始点击位置+起始左边距
  27. tarDiv.style.left = parseFloat(_x_move)-parseFloat(_x_start)+parseFloat(left_start)+"px"
  28. //上边距=当前触摸点-鼠标起始点击位置+起始上边距
  29. tarDiv.style.top = parseFloat(_y_move)-parseFloat(_y_start)+parseFloat(top_start)+"px"
  30. });
  31. //松开
  32. tarDiv.addEventListener("touchend",function(e) {
  33. var bodyW=window.screen.width/2;//屏幕宽的一半
  34. var bodyH=window.screen.height;//屏幕高
  35. var _x_end=e.changedTouches[0].pageX;//松开位置
  36. var _y_end=e.changedTouches[0].pageY;//松开位置
  37. var divH= tarDiv.style.height;//元素高
  38. var divW= tarDiv.style.width;//元素宽
  39. //当最终位置在屏幕左半部分
  40. if(_x_end<bodyW){
  41. tarDiv.style.left = '0px'
  42. }else if(_x_end>=bodyW){//当最终位置在屏幕左半部分
  43. tarDiv.style.left = window.screen.width - parseFloat(divW) + 'px'
  44. }
  45. //当元素顶部在屏幕外时
  46. if(parseFloat(tarDiv.style.top)<0){
  47. //置于顶部
  48. tarDiv.style.top = 0
  49. }
  50. //当元素底部在屏幕外时
  51. if(bodyH-_y_end<parseFloat(divH)/2){
  52. //置于底部
  53. tarDiv.style.top = bodyH-parseFloat(divH) + 'px'
  54. }
  55. });
  56. // $("#id").click(function(){
  57. // console.log('点击');
  58. // });
  59. </script>
  60. </body>
  61. </html>

发表评论

表情:
评论列表 (有 0 条评论,654人围观)

还没有评论,来说两句吧...

相关阅读

    相关 android miui悬浮按钮,MIUI10悬浮

    MIUI10悬浮球app是一款系统增强方面的手机软件,它可以为用户的手机添加一个MIUI 10风格的“边缘滑动返回”流畅的手势,还可以滑动并按住”以切换到最近使用应用程序。还有

    相关 突破MIUI8权限显示悬浮

    首先声明一下,并不能越过MIUI8的悬浮球权限在桌面上显示悬浮球,但是可以在应用内显示悬浮球。 本文内容是在以下项目的基础上修改的: 继越过权限显示悬浮球[https

    相关 iOS:高仿微信文章悬浮

    ![Image 1][] 头图.PNG 前言 微信在最新版本6.6.7,新加了一个文章悬浮球功能。当你正在阅读文章的时候,突然有好友发来了紧急消息,你需要立即回复。又