首页前端开发JavaScript关于better-scroll插件的无法滑动bug(2021通过插件解决)

关于better-scroll插件的无法滑动bug(2021通过插件解决)

时间2024-01-31 23:59:03发布访客分类JavaScript浏览855
导读:收集整理的这篇文章主要介绍了关于better-scroll插件的无法滑动bug(2021通过插件解决 ,觉得挺不错的,现在分享给大家,也给大家做个参考。 better-scroll滚动原...
收集整理的这篇文章主要介绍了关于better-scroll插件的无法滑动bug(2021通过插件解决),觉得挺不错的,现在分享给大家,也给大家做个参考。

better-scroll滚动原理

wrapPEr作为父容器,它的高度会随着内容的大小而撑高。那么,当
content的高度不超过父容器的高度,是不能滚动的,而它一旦超过了父容器的高度,我们就可以滚动内容区了
BetterScroll 默认处理容器(wrapper)的第一个子元素(content)的滚动,其它的元素都会被忽略
所以也给定了如下页面结构

div class="wrapper">
     ul class="content">
      li>
    .../li>
      li>
    .../li>
      ... /ul>
     !-- 这里可以放一些其它的 DOM,但不会影响滚动 -->
    /div>
    

所以我们在这里只说最重要的一点!!!

因为图片需要加载,所以better-scroll的初始化时机非常重要,因为它在初始化的时候,会计算父元素和子元素的高度和宽度,如果图片还没有加载完成就已经开始初始化,那么计算出的实际高度和你的真实高度就会有大量偏差(网速也会影响。。。)

这是目前所有使用者会出现无法滚动的最大原因

我前几天遇到这个问题,并且better-scroll文档无法访问,gIThub上的文档只有大概使用,找解决方法找了整整一天,网上的各种方法层出不穷,最优解:

通过插件:better-scroll/observe-dom

动态计算 BetterScroll 的可滚动高度或者宽度,你并不需要自己在高度或者宽度发生变化的时候,手动调用 refresh() 方法。插件通过 MutationObserver 帮你完成了

如果当前你的浏览器不支持 MutationObserver,会降级使用 setTimeout。

使用

安装依赖 npm install @better-scroll/observe-dom

import BScroll From '@better-scroll/core'import ObserveDom from '@better-scroll/observe-dom'BScroll.use(ObserveDom)const bs = new BScroll('.wrapper', {
 observeDOM: true}
    )

这个问题还有很多解决办法,但网上很多文章讲也没有讲清,使用这个插件就好了

别的解决办法大概思路就是:监听图片加载调用refresh()重新计算高度

vue用img标签,用@load="定义一个方法"监听图片加载事件,只要图片加载一个就会调用一次你定义的方法

最后在方法中写入this.scroll.refresh()就可以做到加载一个图片刷新一次重新计算高度,同时你需要使用防抖函数避免频繁的重复调用带来的各种问题

到此这篇关于(2021通过插件解决)better-scroll插件的无法滑动bug的文章就介绍到这了,更多相关better-scroll插件无法滑动内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • vue滚动插件better-scroll使用详解
  • Angular中使用better-scroll插件的方法
  • 详解 vue better-scroll滚动插件排坑
  • vue better-scroll插件使用详解
  • vue滚动轴插件better-scroll使用详解

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: html5以及jQuery实现本地图片上传...下一篇:一起来了解一下JavaScript的预编...猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: 关于better-scroll插件的无法滑动bug(2021通过插件解决)
本文地址: https://pptw.com/jishu/594651.html
js实现Element中input组件的部分功能并封装成组件(实例代码) C语言中typedef的用法有哪些?

游客 回复需填写必要信息