当前位置:主页 > 网页前端 > vue >

vue悬浮可拖拽悬浮按钮的实例代码

时间:2022-02-01 10:18:31 | 栏目:vue | 点击:

前言

vue开发手机端悬浮按钮实现,可以拖拽,滚动的时候收到里边,不影响视线

github地址

使用,基于vue-cli3.0+webpack 4+vant ui + sass+ rem适配方案+axios封装,构建手机端模板脚手架 vue-h5-template

后续将发布各种商城组件组件,让商城简单高效开发

 

线上体验

 

使用

将 src/components文件夹下的s-icons组件放到你的组件目录下

使用组件

// template
<template>
 <div> 
 <float-icons padding="10 10 60 10" class="icons-warp">
  <div class="float-icon-item">
  <img src="../../assets/images/home-icon.png" alt="" @click="handleIcons('home')">
  <span>首页</span>
  </div>
  <div class="float-icon-item">
  <img src="../../assets/images/cart-icon.png" alt="" @click="handleIcons('cart')">
  <span>购物车</span>
  </div>
 </float-icons>
 </div>
</template>

<script>
import FloatIcons from '@/components/s-icons'
export default {
 components: {
 'float-icons': FloatIcons
 },
 
 methods: {
 // 点击按钮
 handleIcons(router) {
  console.log('router', router)
  this.$router.push(router)
 }
 }
}
</script>
<style lang='scss' scoped>
.icons-warp {
 border-radius: 25px;
 .float-icon-item {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 position: relative;
 width: 50px;
 height: 50px;
 img {
  width: 25px;
  height: 25px;
  margin-bottom: 3px;
 }
 span {
  font-size: 9px;
  color: #666666;
 }
 }
}
</style>

参数

字段名 类型 默认值 描述
padding String '10 10 10 10' 悬浮按钮可拖拽的安全范围,与 css padding 传参一致
scoller String '' 监听页面滚动容器 id,不传时候监听 window (解决滚动时悬浮框按钮不收进去)

注意

如果滚滚动的时候收到里边,需要穿scoller参数

比如:

你的滚动列表外层div 设置id

<div id="loadmore">
  <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
  <van-cell v-for="item in list" :key="item" :title="`我是你的小仙女,爱你第${item}遍`" />
  </van-list>
 </div>

组件传参 scoller="loadmore"

<float-icons **scoller="loadmore"** padding="10 10 60 10" class="icons-warp">
  </float-icons>

因为你可能使用组件导致监听的滚动元素是window,所以你需要将你的滚动容器的id传进我的组件

总结

以上所述是小编给大家介绍的vue悬浮可拖拽悬浮按钮的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

您可能感兴趣的文章:

相关文章