最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 21:55:49
文档

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

Vue实现固定定位图标滑动隐藏效果:写在前面 移动端页面,有时候会出现一些固定定位在底部图标,比如购物车等。这时候如果添加一个滑动页面,图标透明度变低,同时 移动到屏幕边进行隐藏,效果如下。 所用原理 监听滑动事件,每次进行滑动时,触发动画,添加定时器,1.4s后显示该图标。具体代
推荐度:
导读Vue实现固定定位图标滑动隐藏效果:写在前面 移动端页面,有时候会出现一些固定定位在底部图标,比如购物车等。这时候如果添加一个滑动页面,图标透明度变低,同时 移动到屏幕边进行隐藏,效果如下。 所用原理 监听滑动事件,每次进行滑动时,触发动画,添加定时器,1.4s后显示该图标。具体代


写在前面

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

所用原理

监听滑动事件,每次进行滑动时,触发动画,添加定时器,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实现固定定位图标滑动隐藏效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

文档

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

Vue实现固定定位图标滑动隐藏效果:写在前面 移动端页面,有时候会出现一些固定定位在底部图标,比如购物车等。这时候如果添加一个滑动页面,图标透明度变低,同时 移动到屏幕边进行隐藏,效果如下。 所用原理 监听滑动事件,每次进行滑动时,触发动画,添加定时器,1.4s后显示该图标。具体代
推荐度:
标签: 图标 VUE 隐藏
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top