首页前端开发HTMLhtml5实现可拖拽移动的悬浮图标的示例代码

html5实现可拖拽移动的悬浮图标的示例代码

时间2024-01-25 08:22:25发布访客分类HTML浏览264
导读:收集整理的这篇文章主要介绍了html5实现可拖拽移动的悬浮图标的示例代码,觉得挺不错的,现在分享给大家,也给大家做个参考。 h5 上经常会有这样的需求:需要在页面上加上一个悬浮图标,大致是如下图的最终实现但是往往按照设计稿是不会遮...
收集整理的这篇文章主要介绍了html5实现可拖拽移动的悬浮图标的示例代码,觉得挺不错的,现在分享给大家,也给大家做个参考。

h5 上经常会有这样的需求:

需要在页面上加上一个悬浮图标,大致是如下图的最终实现

但是往往按照设计稿是不会遮住主体区域的,但是实际上有时候偏偏会遮挡主体区域,但是为了更好的点击量,又不得不悬浮在页面上...

如果能让图标可拖拽移动,这样在遮住主体区域之后,用户可自由移动,这种方案及可以兼顾了。

实现的效果如下:

(和微信的浮窗效果类似,左右位置靠边显示,上下位置随意放)

话不多说,上代码了

div class="ys-float-BTn"     :style="{
'width': ITemWidth+'px','height': itemHeight+'px','left': left+'px','top': top+'px'}
    "        ref="div"        @touchstart.prevent="(e) =>
 {
DragStart(e)}
    "         @touchend.PRevent="(e) =>
 {
dragEnd(e)}
    "         @touchmove.prevent="(e) =>
 {
dragProgress(e)}
    "        >
            img src="./../assets/fc-icon.png" />
    /div>
    
// 代码直接在 vue 项目里,可自行改为js/jquery 写法data () {
    return {
        gapWidth: 10,        itemWidth: 20, // 图标的宽度        itemHeight: 30 // 图标的高度    }
}
,created() {
              this.clientWidth = document.documentElement.clientWidth;
             this.clientHeight = document.documentElement.clientHeight;
              this.left = this.clientWidth - this.itemWidth - this.gapWidth;
              this.top = this.clientHeight*0.8;
   }
 methods: {
        dragStart(e) {
                    this.$refs.div.style.transition = 'none';
    }
,    dragEnd(e) {
                    this.$refs.div.style.transition = 'all 0.3s';
                    if (this.left >
 this.clientWidth/2) {
                          this.left = this.clientWidth - this.itemWidth - this.gapWidth;
        }
 else {
                          this.left = this.gapWidth;
                }
          }
,          dragProgress(e) {
                if (e.targetTouches.length === 1) {
                          let touch = event.targetTouches[0];
                          this.left = touch.clientX - this.itemWidth/2;
                              this.top = touch.clientY - this.itemHeight/2;
                }
          }
}
     

以上代码既可以上下也可以左右移动,如果只想让可上下移动,就去掉 left 相关的设置和计算。

到此这篇关于htML5实现可拖拽移动的悬浮图标的示例代码的文章就介绍到这了,更多相关html5可拖拽悬浮图标内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 前端Html5如何实现分享截图的示例...下一篇:html+css实现图片扫描仪特效猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: html5实现可拖拽移动的悬浮图标的示例代码
本文地址: https://pptw.com/jishu/586315.html
前端Html5如何实现分享截图的示例代码 使用HTML+Css+transform实现3D导航栏的示例代码

游客 回复需填写必要信息