当前位置: 首页 > news >正文

【vue】下拉、上拉刷新

 我这里就把主要的下拉刷新的写一下,上拉是一样的道理,就不写了

       <div class="talk_top" ref="listWrapper" id="listWrapper"><div class="loadingpic" v-loading="loading"></div><div v-for="message in messages" :key="message.id" class="message"><div class="minetext" v-html="message.text"></div></div></div>
<script>
export default {data() {return {loading: false, // 加载中messages:[],}},mounted() {this.$nextTick(() => {// this.getList(); // 初始化数据this.re();});},methods: {//数据接口getlist() {// this.page++;// this.loading = true;// this.$apiUrl.lmo_goods(data).then(res => {// 加载完// if (this.messages.length >= Number(10)) {//   this.loading = false;//   return;// }this.loading = false;// this.messages = this.messages.concat({ isMe: false, text: "11" });// this.total = Number(4);this.messages.unshift({ isMe: false, text: "下拉刷新" });// });},// 下拉、上拉刷新re() {var flag = false;var PstartX;var PstartY;var PMoveX;var PMoveY;var PendX;var PendY;let that = this;document.onmousedown = function(ev) {flag = true;PstartX = ev.pageX;PstartY = ev.pageY;// console.log("start:" + PstartX, PstartY);document.onmousemove = function(ev) {PMoveX = ev.pageX;PMoveY = ev.pageY;if (flag) {// console.log("move:" + PMoveX, PMoveY);var resutl = getpostion(PMoveY, PstartY);switch (resutl) {case 0:// console.log("无操作");break;case 1:// console.log("向上");break;case 2:// console.log("向下");if (PMoveY - PstartY > 0) {if (PMoveY - PstartY >= 50) {document.getElementById("listWrapper").style.marginTop =PMoveY - PstartY + "px";}that.loading = true;// document.getElementById("loadingpic").style.display = "block";}break;}}};document.onmouseup = function(ev) {flag = false;PendX = ev.pageX;PendY = ev.pageY;// console.log("end:" + PendX, PendY);var resutl = getpostion(PMoveY, PstartY);switch (resutl) {case 0:// console.log("无操作");break;case 1:// console.log("向上");break;case 2:// console.log("向下");// location.reload();setTimeout(() => {that.getlist(); //调用接口//回弹到初始位置document.getElementById("listWrapper").style.marginTop = "0px";}, 500);break;}};// 判断是上拉还是下拉function getpostion(PMoveY, PstartY) {if (PMoveY - PstartY == 0) {return 0; //无操作}if (PMoveY - PstartY < 0) {return 1; //向上}if (PMoveY - PstartY > 0) {return 2; //向下}}};},}
}
</script>

在他的基础上修改了一下,他的上面有点小问题https://www.cnblogs.com/zmcxsf/p/10443189.html

http://www.lryc.cn/news/159966.html

相关文章:

  • el-tree组件的锚点链接
  • 汽车电气架构
  • Spring中添加打印请求头的拦截器
  • LeetCode(力扣)216. 组合总和 IIIPython
  • 无涯教程-JavaScript - IMLOG10函数
  • C++ 学习之深拷贝 和 浅拷贝
  • Qt QtWidgets相关问题汇总
  • 【ubuntu22.04 文件管理器nautilus配置默认终端为alacritty】
  • 信息化发展30
  • css溢出隐藏的五种方法
  • RK3568-UART通信
  • 武警三维数字沙盘电子沙盘虚拟现实模拟推演大数据人工智能开发教程第15课
  • 【Linux从入门到精通】通信 | 共享内存(System V)
  • ubuntu 扩展内存挂载
  • 聚观早报|小米14渲染图曝光;蚂蚁金融大模型正式发布
  • musl libc 动态加载:默认链接脚本
  • 快速排序(递归和非递归两种方法实现)
  • ApiPost7使用介绍 | HTTP Websocket
  • Linux常用命令——convertquota命令
  • Linux 进程基础概念-进程状态、进程构成、进程控制
  • Unity Animation、Animator 的使用
  • Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
  • 执行Django 的迁移命令报错[1193, Unknown system variable default_storage_engine]
  • Himall商城-公共方法
  • 海域可视化监管:浅析海域动态远程视频智能监管平台的构建方案
  • 使用Spring Boot + MyBatis实现多数据源
  • C++中的无限循环
  • Spark2x原理剖析(二)
  • tomcat安装、部署JSPGOU项目、Tomcat多实例
  • 257. 二叉树的所有路径