iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue实现原生下拉刷新
  • 325
分享到

vue实现原生下拉刷新

2024-04-02 19:04:59 325人浏览 薄情痞子
摘要

本文实例为大家分享了Vue实现原生下拉刷新的具体代码,供大家参考,具体内容如下 这是动画样式   文字样式 html代码 <template>  

本文实例为大家分享了Vue实现原生下拉刷新的具体代码,供大家参考,具体内容如下

这是动画样式 

 文字样式

html代码

<template>
  <div class="car-box">
    <div class="car">下拉刷新</div>
    <div class="box" @touchstart="fnstart" ref="Element">
      <div class="con-txt">上拉刷新</div>
    </div>
  </div>
</template>

js代码

<script>
export default {
  methods: {
    fnstart(ev) {
      this.$refs["Element"].style.top = 0;
      this.scroolTop =
        ev.changedTouches[0].pageY - this.$refs["Element"].offsetTop;
 
      document.ontouchmove = this.fnmove;
      document.ontouchend = this.fnEnd;
      ev.preventDefault && ev.preventDefault();
    },
    fnmove(ev) {
      ev.target.parentnode.children[0].innerHTML = "下拉刷新";
      this.T = ev.changedTouches[0].pageY - this.scroolTop;
      if (this.scale > 0.12) {
        this.scale = 1 - this.T / 200;
      } else {
        this.scale = 0.12;
      }
      this.$refs["Element"].style.top = this.T * this.scale + "px";
    },
    fnEnd(ev) {
      ev.target.parentNode.children[0].innerHTML = "正在刷新...";
      document.ontouchmove = null;
      document.ontouchend = null;
      setTimeout(() => {
        this.$refs["Element"].style.top = 0;
        this.$refs["Element"].style.transition = ".3s ease all";
        this.$refs["Element"].addEventListener("transitionend", () => {
          this.$refs["Element"].style.transition = null;
        });
      }, 3000);
    },
  },
};
</script>

CSS代码  我这边用的是scss 

<style lang="scss" scoped>
.box {
  text-align: center;
  height: 600px;
  width: 100vw;
  background-color: orange;
  position: absolute;
  left: 0;
  top: 0;
}
.car {
  text-align: center;
  margin: auto;
  width: 199px;
  height: 60px;
  line-height: 60px;
  background-position: 0 0;
  background-size: 100% auto;
  animation: animation_car 1.5s steps(1) infinite;
}
</style>

如果下拉刷新用动画就用这个css样式 

图片的话我用的是28帧的 根据100除以28  也就是3.5 ,所以每3.5%换一个图,就能形成一个逐帧动画,每一个页面的宽高都不一样所以要计算 ,我的页面的大小是1080的这个也时我设置好的宽高。

这是代码

<style lang="scss" scoped>
.box {
  text-align: center;
  height: 600px;
  width: 100vw;
  background-color: orange;
  position: absolute;
  left: 0;
  top: 0;
}
.car {
  text-align: center;
  margin: auto;
  width: 199px;
  height: 134px;
  //   margin-bottom: 200px;
  background: url("../assets/img/car.png") no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  animation: animation_car 1.5s steps(1) infinite;
}
@keyframes animation_car {
  0% {
    background-position: 0px;
  }
  3.5% {
    background-position: 0px -134px;
  }
  7% {
    background-position: 0px -268px;
  }
  10.5% {
    background-position: 0px -402px;
  }
  14% {
    background-position: 0px -536px;
  }
  17.5% {
    background-position: 0px -670px;
  }
  21% {
    background-position: 0px -804px;
  }
  24.5% {
    background-position: 0px -938px;
  }
  28% {
    background-position: 0px -1072px;
  }
  31.5% {
    background-position: 0px -1206px;
  }
  35% {
    background-position: 0px -1340px;
  }
  38.5% {
    background-position: 0px -1474px;
  }
  42% {
    background-position: 0px -1608px;
  }
  45.5% {
    background-position: 0px -1742px;
  }
  49% {
    background-position: 0px -1876px;
  }
  52.5% {
    background-position: 0px -2010px;
  }
  56% {
    background-position: 0px -2144px;
  }
  59.5% {
    background-position: 0px -2278px;
  }
  63% {
    background-position: 0px -2412px;
  }
  66.5% {
    background-position: 0px -2546px;
  }
  70% {
    background-position: 0px -2680px;
  }
  73.5% {
    background-position: 0px -2814px;
  }
  77% {
    background-position: 0px -2948px;
  }
  80.5% {
    background-position: 0px -3082px;
  }
  84% {
    background-position: 0px -3216px;
  }
  87.5% {
    background-position: 0px -3350px;
  }
  91% {
    background-position: 0px -3350px;
  }
  94.5% {
    background-position: 0px -3484px;
  }
  98% {
    background-position: 0px -3618px;
  }
}
 
</style>

图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: vue实现原生下拉刷新

本文链接: https://www.lsjlt.com/news/141685.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue实现原生下拉刷新
    本文实例为大家分享了vue实现原生下拉刷新的具体代码,供大家参考,具体内容如下 这是动画样式   文字样式 html代码 <template>  ...
    99+
    2022-11-13
  • vue如何实现原生下拉刷新
    这篇文章给大家分享的是有关vue如何实现原生下拉刷新的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 文字样式html代码<template>  <div class=&quo...
    99+
    2023-06-29
  • react实现原生下拉刷新
    react是基于vue下拉刷新做了一个小小的改动,供大家参考,具体内容如下 我是用js写的 用jsx文件转化为jsx格式 ,如果用下载的react项目需要稍微改一下 html代码 &...
    99+
    2022-11-13
  • 原生js实现下拉刷新和上拉加载更多
    本文实例为大家分享了js实现下拉刷新和上拉加载更多的具体代码,供大家参考,具体内容如下 1.下拉刷新 由于原生js太久不用了,这里列一下此处涉及到的前置知识点: 移动端触屏事件: t...
    99+
    2022-11-12
  • 原生js怎么实现下拉刷新和上拉加载更多
    本篇文章为大家展示了原生js怎么实现下拉刷新和上拉加载更多,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JavaScript是什么JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器...
    99+
    2023-06-26
  • 原生js仿写手机端下拉刷新
    本文实例为大家分享了js仿写手机端下拉刷新的具体代码,供大家参考,具体内容如下 话不多说先看效果图: 当下拉小于40px时显示文字: 当下拉大于40px时现实文字 松开时显示...
    99+
    2022-11-12
  • Vue uni-app框架实现上拉加载下拉刷新功能
    目录实现上拉加载更多优化实现下拉刷新实现上拉加载更多 打开项目根目录中的pages.json配置文件,为subPackages分包中的商品goods_list页面配置上拉触底的距离:...
    99+
    2022-11-13
  • Vue vant-ui框架实现上拉加载下拉刷新功能
    目录知识点速记基本用法下拉刷新代码实现1.页面布局2.样式3.方法下拉刷新效果: 知识点速记 基本用法 List通过loading和finished两个变量控制加载状态,当组件滚动...
    99+
    2022-11-13
  • Android 实现的下拉刷新效果
    下面是自己实现的效果: 1、分析 可以将动画分解成: 睁眼毛驴绕着中心地球旋转,并且在到达地球中心时,切换为闭眼毛驴,最后发射出去 地球自我旋转,随着下拉而缓缓上升,达到半径距离后...
    99+
    2022-11-12
  • Android控件RefreshableView实现下拉刷新
    需求:自定义一个ViewGroup,实现可以下拉刷新的功能。下拉一定距离后(下拉时显示的界面可以自定义任何复杂的界面)释放手指可以回调刷新的功能,用户处理完刷新的内容后,可以调...
    99+
    2022-06-06
    Android
  • Android RefreshLayout实现下拉刷新布局
    项目中需要下拉刷新的功能,但是这个View不是ListView这类的控件,需要ViewGroup实现这个功能,一开始网上大略找了一下,没发现特别合适的,代码也是没怎么看懂,所以...
    99+
    2022-06-06
    布局 Android
  • Android RecyclerView实现下拉刷新和上拉加载
    RecyclerView已经出来很久了,许许多多的项目都开始从ListView转战RecyclerView,那么,上拉加载和下拉刷新是一件很有必要的事情。 在ListView上...
    99+
    2022-06-06
    recyclerview Android
  • 怎么用vue代码实现下拉刷新,上拉更多功能
    这篇文章主要讲解了“怎么用vue代码实现下拉刷新,上拉更多功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用vue代码实现下拉刷新,上拉更多功能”吧!具体代码如下:<templa...
    99+
    2023-07-04
  • android开发教程之实现listview下拉刷新和上拉刷新效果
    代码如下:public class PullToLoadListView extends ListView implements OnScrollListener { &nb...
    99+
    2022-06-06
    程之 listview android开发 教程 Android
  • vue基于vant实现上拉加载下拉刷新的示例代码
    前言 普遍存在于各种app中的上拉加载下拉刷新功能大家都不陌生吧,一般来说,在数据量比较大的情况下,为了更快的渲染和给用户更好的观感体验,我们会将数据做分页处理,让其批量加载,这样一...
    99+
    2022-11-12
  • vue 使用mescroll.js框架实现下拉加载和上拉刷新功能
    以下是代码是在项目中抽取出来的,都是实现下拉刷新上拉加载的要点。 注:以下不是用vue-cli写的,用vue-cli的请绕过,抱歉~ 1、mescroll 的页面的初始化 initM...
    99+
    2022-11-13
  • Flutter实现下拉刷新和上拉加载更多
    本文实例为大家分享了Flutter实现下拉刷新和上拉加载更多的具体代码,供大家参考,具体内容如下 效果 下拉刷新 如果实现下拉刷新,必须借助RefreshIndicator,在li...
    99+
    2022-11-13
  • Android实现简单的下拉刷新pulltorefresh
    网上下拉刷新的DEMO很多,但是总有各种不满意的地方,有些会下拉卡住,有些回弹不流畅,有些性能太低会各种卡顿,有些emptyView无法下拉......  自己写的才...
    99+
    2022-06-06
    pulltorefresh Android
  • Android自定义ListView实现下拉刷新
    首先呈上效果图 当今APP,哪个没有点滑动刷新功能,简直就太落伍了。正因为需求多,因此自然而然开源的也就多。但是若想引用开源库,则很麻烦,比如PullToRefreshVi...
    99+
    2022-06-06
    listview Android
  • 安卓(android)怎么实现下拉刷新
    这里我们将采取的方案是使用组合View的方式,先自定义一个布局继承自LinearLayout,然后在这个布局中加入下拉头和ListView这两个子元素,并让这两个子元素纵向排列...
    99+
    2022-06-06
    Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作