• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 关于uniApp editor微信滑动问题

关于uniApp editor微信滑动问题

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了uniApp,editor,微信滑动等相关知识,希望对您有所帮助

这篇文章主要介绍了关于uniApp editor微信滑动问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

uniapp 小程序在微信下会出现类似下拉问题


600512453984c.jpg


解决方法是在app.vue 的页面onLaunch方法内添加禁止下滑方法

this.$nextTick(() => {    document.body.addEventListener("touchmove", this.addBodyTouchEvent, {        passive: false    });});

问题解决后在uniApp的editor组件内无法滑动


60051278361f3.jpg

解决方法


6005128be6cf5.jpg


data内添加这两个值


600512a1a2c5a.jpg


添加touchstart和touchend方法手动写滑动效果

touchstart(e) {    this.previewScrollTop = e.touches[0].pageY;},touchend(e) {    let distance = e.changedTouches[0].pageY - this.previewScrollTop;    if (Math.abs(distance) <= 10) {        return false;    }        //距离太短时不滚动    let dom = this.$refs.editor.$el.getElementsByClassName("ql-editor")[0],    maxHeight = Math.max(0, dom.scrollHeight - dom.clientHeight), //最大高度范围    tempData = this.scrollTop + (distance >= 0 ? -60 : 60); //计算应该高度数据    if (tempData >= maxHeight) {        this.scrollTop = maxHeight;        dom.scrollTop = this.scrollTop;    } else if (tempData <= 0) {        this.scrollTop = 0;        dom.scrollTop = this.scrollTop;    } else {        this.scrollTop = tempData;        dom.scrollTop = this.scrollTop;    }}

此时滑动效果出现。但是滑动出不流畅。

本想着写动画过渡效果。但是。这个滑动是用dom.scrollTop属性做的。该属性不属于css属性无法使用css过渡动画

所以写了一个js方法。

/*** 动画垂直滚动到页面指定位置* @param { } dom element对象* @param { Number } currentY 当前位置* @param { Number } targetY 目标位置*/export function scrollAnimation(dom, currentY, targetY) {    // 计算需要移动的距离    let needScrollTop = targetY - currentY;    let _currentY = currentY;    setTimeout(() => {        // 一次调用滑动帧数,每次调用会不一样        const dist = Math.ceil(needScrollTop / 10);        _currentY += dist;        dom.scrollTo(_currentY, currentY);        // 如果移动幅度小于十个像素,直接移动,否则递归调用,实现动画效果        if (needScrollTop > 10 || needScrollTop < -10) {            scrollAnimation(dom, _currentY, targetY);        } else {            dom.scrollTo(_currentY, targetY);        }    }, 1);}

重新调用

touchend(e) {    let distance = e.changedTouches[0].pageY - this.previewScrollTop;    if (Math.abs(distance) <= 10) {        return false;    }    //距离太短时不滚动    let dom = this.$refs.editor.$el.getElementsByClassName("ql-editor")[0],    maxHeight = Math.max(0, dom.scrollHeight - dom.clientHeight), //最大高度范围    tempData = this.scrollTop + (distance >= 0 ? -60 : 60); //计算应该高度数据    if (tempData >= maxHeight) {        this.scrollTop = maxHeight;        dom.scrollTop = this.scrollTop;    } else if (tempData <= 0) {        this.scrollTop = 0;        dom.scrollTop = this.scrollTop;    } else {        this.scrollTop = tempData;        scrollAnimation(dom, 0, this.scrollTop);    }}

备注一下:

这个问题本来打算用Transform:translateY(y)属性来写的,实际上也做了。

但是在做了之后发现

let dom = this.$refs.editor.$el.getElementsByClassName("ql-editor")[0];


600513701eb7d.jpg


这里选中的元素是红框下面的元素。在做偏移的时候整个元素偏移。文档没显示完全但是下方确有一大块空白。当时也没截图。记录一下自己踩得坑。



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 手把手教你基于uniapp框架实现动态路由、动态tabbar
  • uniapp实现微信小程序全局分享的示例代码
  • uniapp如何取消原生导航栏
  • Uniapp发布为H5版本时如何隐藏访问路径的#符号
  • uniapp上如何实现安卓app微信登录功能(操作流程总结)
  • uniapp中怎么实现直播旁路推流(步骤分享)
  • 关于uniApp editor微信滑动问题
  • uniapp怎么实现小程序页面的自由拖拽功能
  • 带你搞懂uniapp跨域问题(实例详解)
  • 如何解决uni图标在app上不显示的问题

相关文章

  • 2022-04-29Photoshop设计金属颓废效果的海报标题字
  • 2022-04-29Phpcms V9导航循环下拉菜单的调用技巧
  • 2022-04-29CDR绘制红色枫叶背景插画
  • 2022-04-29css中实现背景透明的三种方式
  • 2022-04-29一起来了解下Bootstrap中的tab选项卡
  • 2022-04-29Wordpress如何调用个人信息
  • 2022-04-29PHP读取文件的两种方式:file_get_contents和fread(附代码实例)
  • 2022-04-29提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
  • 2022-04-29详解thinkphp6.0.7中怎么使用JWT
  • 2022-04-29阿里云Composer全量镜像下载配置及常见问题解答

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 怎么在swarm集群里通过service部署wordpress
    • 关键词优化原创总结
    • javascript怎么判断是否为null
    • 微信小程序中跳转另一个微信小程序的方法
    • 33个非常实用的JavaScript一行代码,建议收藏!
    • 织梦后台非常卡,经常无反应怎么办
    • Photoshop制作中秋节飘带艺术字教程
    • 在javascript中,NaN是什么类型?
    • VUE动态添加的路由页面刷新时失效的原因及解决方案
    • WordPress控制文章评论最少字数和最大字数

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有