惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
小众软件
小众软件
爱范儿
爱范儿
Y
Y Combinator Blog
博客园 - Franky
美团技术团队
博客园 - 【当耐特】
The Cloudflare Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
IT之家
IT之家
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
WordPress大学
WordPress大学
V
Visual Studio Blog
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
有赞技术团队
有赞技术团队

博客园 - love/coder

Android studio环境配置 phpstorm/clion设置文件头部版权信息 php7.4需要升级vc++版本问题 SqlServer查询所有表名及其数据行数 图解 CSS 选择器 C# 子窗体中调用父窗体中的方法(或多窗体之间方法调用) Winform控件命名规则 C#中的Timer定时器 winform中的多线程与异步加载 base64的使用 编程命名规范(网文) 常浏览编程技术资源 接口控制器层(Controller层)设计(网文) SpringBoot编写WebApi~(1)idea创建项目并打包 使用FileBrowser搭建文件服务 VS新建文件时在头部附加版权信息 记录一次Apache2.4启动PHP的Curl扩展不成功的问题 FileZilla Server搭建ftp服务 VS安装插件,按CTRL+鼠标左键进入函数 .NET8的AOT技术
JQuery UI实现浮动客服并拨号
love/coder · 2025-03-06 · via 博客园 - love/coder
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
  <style>
    html, body {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      overflow: hidden;
    }

    html {
      -ms-text-size-adjust: 100%;
      -webkit-text-size-adjust: 100%;
    }

    body {
      display: block;
    }

    body {
      line-height: 1.6;
      font-family: -apple-system-font, Helvetica Neue, sans-serif;
    }

    body {
      font-size: 16px;
    }

    body, html {
      height: 100%;
      -webkit-tap-highlight-color: transparent;
    }

    * {
      margin: 0;
      padding: 0;
    }

    #draggable {
      position:fixed;
      bottom:20px;
      right:20px;
      width:160px;
      font-size:20px;
      height: 160px;
      background-color:#F5F5F5;
      color:white;
      text-align:center;
      line-height:160px;
      border-radius:80px;
      cursor: move;
    }
  </style>
</head>
<body>
<div id="draggable" draggable="true">
  <img src="/static/wxv1/images/icon_bohao.png" style="width:64px;height:64px;margin: 48px">
</div>
</body>
<script>
  //问题:jqui的拖拽默认在pc下可用,手机端需要引入jquery.ui.touch-punch.min.js模拟实现,但是会同时触发元素的click事件
  //解决:事件执行顺序为touchstart->start->stop->touchend,只要在touchend检查是否进行过移动即可判断是拖拽还是点击
   var isMoved = false; // 是否移动的flag

  $("#draggable").draggable({
    //axis: "x", // 仅允许垂直拖拽
    containment: "parent", // 限制在父元素内拖拽
    start:function (e,ui)
    {
      isMoved = true;
    },
    stop:function (e,ui)
    {
      isMoved = true;
    },
  });

  // $('#draggable').on('touchstart', function(event) {
  // });

  $('#draggable').on('touchend', function(event) {
     if(isMoved)
     {
       isMoved = false;
     }else {
       gotoTel();
     }

  });
  function gotoTel()
  {
    window.location.href = 'tel:10086';
  }

</script>
</html>

效果图如下: