iOS自带的拖动总是被测试小姐姐挑出bug,所以我们公司用的模板禁用了iOS原生的滚动拖拽功能,h5项目哈
那有滚动拖拽需求的时候 就需要用到iscroll了
首先需要引入一下
<script src="js/base/iscroll.js"></script>
找到你需要滚动的容器,这里强调一下,必须是三层包裹的结构,两层的会有bug
类似
<div id="wrapper">
<ul>
<li>...</li>
<li>...</li>
...
</ul>
</div>
最外层的div命名容器,ul才是可以滚动的,ul里面正常放需要的内容
然后在js里先初始化iscroll
loaded()
var myScroll;
function loaded() {
myScroll = new IScroll('#wrapper', {
scrollY: true,
bounceTime: 600, //弹力动画持续的毫秒数
// bounce: false,
click: true,
deceleration: 0.0008 // 滚动动量减速越大越快,建议不大于0.01 0.0006
});
console.log('初始化myScroll', myScroll);
}
在读到数据,显示出容器之后,需要刷新一下iscroll,例如
function updateScroll() {
setTimeout(function () {
myScroll.refresh();
}, 0);
}
ifHaveResult()
function ifHaveResult() {
//自已的代码逻辑正常写,这里仅做示例
resultList = localStorage.getItem('resultList')
if (resultList) {
console.log('有结果');
initList()
$('.hasResult').show()
$('.index').hide()
$('.notResult').hide()
}
else {
console.log('没有结果');
$('.index').show()
$('.hasResult').hide()
$('.notResult').hide()
}
//主要就是在show()之后要调一下刷新!!!!!
updateScroll()
}
iscroll的简单调用就是这样啦,记录 一下