better-scroll.js 移动端滑动兼容

news/2024/7/20 20:51:31 标签: javascript, 前端, css, ios

中文文档地址:https://better-scroll.github.io/docs/zh-CN/guide/

插件文档地址:https://better-scroll.github.io/docs/zh-CN/plugins/#%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E6%9C%89%E6%8F%92%E4%BB%B6

移动端滑动问题常见于iOS设备,可以先尝试通过增加css(例如:-webkit-overflow-scrolling: touch;)等方式来解决不行的话再使用插件来实际滚动。

初始化

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

// js
let wrapper = document.querySelector('.wrapper')
let scroll = new BScroll(wrapper)

上面的代码中 BetterScroll 是作用在外层 wrapper 容器上的,滚动的部分是 content 元素。这里要注意的是,BetterScroll 默认处理容器(wrapper)的第一个子元素(content)的滚动,其它的元素都会被忽略。

core.js为不带插件的核心版本,初始化方式 new BScroll(wrapper)

better-scroll 为全插件版本,初始化方式BetterScroll.createBScroll('.wrapper', {})

需要监听各种事件

默认屏蔽各类事件,需要自行手动,例如:

scrollBox2 = BetterScroll.createBScroll('#ele', {
	click: true, // 点击事件 
	probeType: 3 // 是否派发scroll事件,值有 0|1|2|3 这几种,具体说明请查阅文档。
});

需要滚动条的话

如需显示滚动条的话,引入全插件版本之后,使用如下初始化即可

scrollBox2 = BetterScroll.createBScroll('#ele', {
                click: true, // 
                scrollbar: { // 开启滚动条显示
                    fade: false //关闭滚动条自动隐藏
                }
            });
// XXX 滚动条使用的是绝对定位,所以#ele需要设置`position: relative;

滚动没生效的常见情况

  1. 初始化之后元素的高度变化了
    1. 子元素使用了ajax生成,在生成完毕后调用下BScroll.refresh()方法,最好是间隔个几百毫秒
    2. 子元素内有图片没加载完,在图片的onload事件内调用下BScroll.refresh()方法
    3. 插件中有个observe-dom设置之后不生效不知道为啥

http://www.niftyadmin.cn/n/237959.html

相关文章

shell脚本实现删除服务器指定目录下文件方法

删除4天前的文件 #!/bin/bash# 指定要删除文件的目录路径 folder_path"/path/to/folder"# 查找并删除4天以前的文件 find $folder_path -type f -mtime 3 -delete# 输出删除完成的提示信息 echo "4 days old files have been deleted from $folder_path."…

把树莓派改造成无线路由器(1)-----桥接模式(无线AP接入点)

这里写自定义目录标题 1、准备工作2、安装无线AP 和管理软件3、创建Linux网桥3.1、创建网桥设备并填充网桥3.2、定义网桥设备IP配置 4、确认无线配置5、配置 AP 软件6、运行wifi无线AP Raspberry Pi 可用作网络中的一个wifi的无线接入点。让使用无线接入的计算机和设备可以接入…

蓝绿部署技术方案

文章目录 ngx_lua介绍Nginxluangx_lua模块的原理&#xff1a;ngx_lua 模块执行顺序与阶段ngx_lua应用场景 JWTnginx镜像构造lua-redis蓝绿部署特性注意&#xff1a;蓝绿部署架构图nginx配置服务脚本部署使用职责分工 ngx_lua介绍 Nginx Nginx是Web服务器、HTTP反向代理和TCP代…

Python异常

文章目录 异常异常的使用捕获通用异常捕获具体异常捕获多个异常常用异常类型异常中的finally自定义异常与抛出异常抛出异常自定义异常类 断言 异常 异常就是错误异常会导致程序崩溃并停止运行能监控并捕获到异常&#xff0c;将异常部位的程序进行修理使得程序继续正常运行 异…

【Linux】进程间通信 -- 命名管道

前言 在管道的通信中&#xff0c;除了匿名管道&#xff0c;还有一个命名管道。 匿名管道只支持具有“亲戚关系”的进程间通信&#xff0c;而命名管道就可以支持不同的&#xff0c;任意的进程通信。 那就下来就开始我们今天的学习。 文章目录 前言一. 命名管道二. 命名管道的应用…

Windows 下安装和使用Redis

Redis 一般安装在Linux中&#xff0c; 但有时出于学习和其他目的&#xff0c;需要在Windows机器运行Redis&#xff0c; 本篇介绍如果在&#xff37;indows中运行和使用Redis。 关于Redis的基本介绍可以参考&#xff1a; Redis介绍、安装与初体验 Windows 下Redis的下载 可…

博客上几种新职业的工作指南

© 2019 Conmajia 我不是在嘲讽谁&#xff0c;真的&#x1f605; 看了不少博客&#xff0c;发现了一些共同点。我觉得可以把这些博主分类一下&#xff0c;形成几种新的职业。 1. 超文本抄书匠Hypertext Copier Job description 拥有悠久历史的手打大师&#xff0c;大段抄录…

Javaee Spring JdbcTemplate基本使用 基于xml配置方式

目录 哈哈哈哈&#xff0c;说好是要写一篇关于jdbcTemplate的基本使用&#xff0c;貌似说跑题了&#xff0c;但是主体还是用jdbctemplate实现的&#xff0c;有耐心看完的话相信能有点点收获的哦&#xff01; 项目结构&#xff1a; 小结&#xff1a; 遇到了个小问题&#xff0…