iScroll插件(滚动条效果)
- 先引入iScroll的js文件
- iScroll中文网站
http://caibaojian.com/iscroll-5/ - 加入
id=“wrapper”
,给父元素加(如果是ul>li,应该给ul的父元素加) - 实例化
<script type="text/javascript">
var myScroll = new IScroll('#wrapper');
</script>
注意事项:如果父盒子的高度应该小于子元素,才能实现滚动效果
一些问题
在移动端onclick有300ms的延迟问题
- 主要原因:点两下页面会有放大效果,不能确定到底是点一下还是两下,所以手机会有一个延迟
- 解决方式:禁止网页双击缩放:加入meat 或者 fastclick.js
- meat:user-scalable=no
- 下载fastclick文件,在页面中引入
<script type='application/javascript' src='/path/to/fastclick.js'></script>
写入代码
if ('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body);
}, false);
}
参考这个网页
https://blog.csdn.net/qq_37730829/article/details/109155753
移动端触摸事件(touch)
-
touchstart事件:开始触摸事件
-
touchmove事件:手指滑动事件
-
touchend事件:触摸结束事件
-
touchcancel事件:当一些更高级别的事件发生的时候(如电话接入或者弹出信息)会取消当前的touch操作,即触发touchcancel。一般会在touchcancel时暂停游戏、存档等操作。
移动端touch事件有穿透(点透)的问题,怎么解决
-
阻止默认行为
-
下载fastclick文件,在页面中引入
<script type='application/javascript' src='/path/to/fastclick.js'></script>
写入代码
if ('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body);
}, false);
}
zepto.js插件(相当于移动端的jq,有很多操作,触摸事件‘tap’)
p50
- 下载zepto.js文件,引入js,引入下载touch.js文件,移动端触摸 tap
- 官网:https://www.zeptojs.com.cn/
懒加载以及原理
可以使用zepto.js插件
- 一般用于页面中,需要加载很多图片,只开始只加载一个屏幕的图片
原理:滚动距离+可视距离的高大>文档的高,再次请求接口进行加载
zepto.js中有对应的插件可以实现更换图片url来实现出现图片(通过自定义属性内存放路径,等需要再次请求的时候,把自定义属性内的路径,放到url中达到显示图片的目的)
ps:救命之前学的好多js底层忘光了,我干