Vue实现固定定位图标滑动隐藏效果


Posted in Javascript onMay 30, 2019

写在前面

移动端页面,有时候会出现一些固定定位在底部图标,比如购物车等。这时候如果添加一个滑动页面,图标透明度变低,同时 移动到屏幕边进行隐藏,效果如下。

Vue实现固定定位图标滑动隐藏效果

所用原理

监听滑动事件,每次进行滑动时,触发动画,添加定时器,1.4s后显示该图标。具体代码如下:

<template>
  <section class="fixed-icon"
       :style="{ bottom: bottom + 'rem' }"
       :class="[ !transition ? 'fixed-transition' : '']"
       @click="event">
    <slot></slot>
  </section>
</template>
<script>
 export default {
  name: 'fixedIcon',
  props: {
   bottom: { // 改图标距离底部距离 单位 rem
    type: Number,
    default: 3,
   },
  },
  data () {
   return {
    transition: true, // 是否触发动画
    timer: null, // 定时器
   };
  },
  methods: {
   event() {
    this.$emit('clickEvent'); // 绑定点击图表时间
   },
   handleScroll () { // 每次滑动都会执行函数
    this.transition = false;
    if (this.timer) { // 判断是否已存在定时器
     clearTimeout(this.timer);
    }
    this.timer = setTimeout(() => { // 创建定时器,1.4s后图标回归原位置
     this.transition = true;
    }, 1400);
   }
  },
  mounted () {
   window.addEventListener('scroll', this.handleScroll); // 监听页面滑动
  }
 };
</script>

<style scoped lang="scss">
  /*@media only screen and (min-width:750px){html{font-size:20px}} */
  .fixed-icon{
    position: fixed;
    z-index: 1100;
    right: 1.7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 4.1rem;
    width: 4.1rem;
    border-radius: 50%;
    background-color: rgba(128, 128, 128, 0.8);
    transition: 0.7s ease-in-out;
  }
  .fixed-transition{
    right: -2.05rem;
    opacity: 0.4;
    transition: 1s ease-in-out;
  }
</style>

引入代码如下:

<template>
  <section class="content">
    <fixed-icon :bottom="3" @clickEvent="chat">
      <i class="icon-chat"></i>
    </fixed-icon>
  </section>
</template>

<script>
 import fixedIcon from './components/fixedIcon.vue';

 export default {
  name: 'test',
  components: {
   fixedIcon
  },
  data () {
   return {
   };
  },
  methods: {
   chat() { // 图标点击事件
    console.log('你好');
   },
  },
  mounted() {
   document.title = 'Vue制作固定定位图标滑动隐藏效果';
  },
 };
</script>

<style scoped lang="scss">
  .content{
    height: 200vh;
  }
  .icon-chat{
    width: 2rem;
    height: 1.9rem;
    background: url('http://pfpdwbdfy.bkt.clouddn.com/image/test/fixedIconTranstion/wechat.png') no-repeat;
    background-size: 2rem 1.9rem;
  }
</style>

github代码

总结

以上所述是小编给大家介绍的Vue实现固定定位图标滑动隐藏效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
Prototype PeriodicalExecuter对象 学习
Jul 19 Javascript
Mootools 1.2教程 Fx.Tween的使用
Sep 15 Javascript
鼠标滑上去后图片放大浮出效果的js代码
May 28 Javascript
Dom 结点创建 基础知识
Oct 01 Javascript
js购物车实现思路及代码(个人感觉不错)
Dec 23 Javascript
Javascript中拼接大量字符串的方法
Feb 05 Javascript
jquery仿QQ登录账号选择下拉框效果
Mar 22 Javascript
jquery 抽奖小程序实现代码
Oct 12 Javascript
js仿淘宝评价评分功能
Feb 28 Javascript
Vue.js实现列表清单的操作方法
Nov 15 Javascript
JS实现处理时间,年月日,星期的公共方法示例
May 31 Javascript
vue+element 模态框表格形式的可编辑表单实现
Jun 07 Javascript
浅谈Vue的响应式原理
May 30 #Javascript
vue实现固定位置显示功能
May 30 #Javascript
搭建一个Koa后端项目脚手架的方法步骤
May 30 #Javascript
JS使用cookie保存用户登录信息操作示例
May 30 #Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 #Javascript
Vue使用axios出现options请求方法
May 30 #Javascript
vue动态注册组件实例代码详解
May 30 #Javascript
You might like
用在PHP里的JS打印函数
2006/10/09 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
浅析Cookie中的Path与domain
2013/12/18 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
python中使用mysql数据库详细介绍
2015/03/27 Python
Python实现单词拼写检查
2015/04/25 Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
python web框架 django wsgi原理解析
2019/08/20 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
Unix里面如何在后台运行程序
2016/10/14 面试题
茶叶店创业计划书范文
2014/01/19 职场文书
单位创先争优活动方案
2014/01/26 职场文书
便利店投资创业计划书
2014/02/08 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
软件售后服务方案
2014/05/29 职场文书
人大代表选举标语
2014/10/07 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
经营场所使用证明
2015/06/19 职场文书
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript