我也遇到了这样的问题,通过你们的方法问题解决了,不过又遇到了别的问题,
我的是个单页面,上面是header,下面是一个随着屏幕滚动(fiexd)的输入框,我要实现的是滚动一定的距离显示返回顶部按钮。
遇到的问题是:
1.监听类名是mui-content的div的scroll事件,在这个事件中获取滚动的距离,试了很多方式都获取不到,最后通过浏览器debug找到了一个方法,e.currentTarget.scrollTop,这个方法可以获取到滚动的距离。(最终用的是document.body.scrollTop || e.detail.y;)
接下来就是出现了这个问题,点击返回顶部没反应,我是用mui('body>.mui-content').pullRefresh().scrollTo(0, 0, 100);这种方式返回的顶部,最后通过给mui-content这个div设置一个id,在初始化上拉加载,数据加载完之后直接将上拉加载禁止掉。
虽然上面的问题是解决了,不过又出现了第三个问题了
3.点击页面下方的输入框,会弹出输入法,将输入法缩回去,整个页面都成白的了,只有头部和最下面的输入框。
最终我是这样做的
页面添加样式
html, body {
height: 100%;
}
.mui-content {
height: 100%;
}
初始化上拉加载
mui.init({
pullRefresh :{
container:"#pullrefresh",
up : {
contentrefresh : "",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'',//可选,请求完毕若没有更多数据时显示的提醒内容;
callback :upLoadList //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
}
}
});
function upLoadList(){}
plusReady之后添加
plus.webview.currentWebview().setStyle({
softinputMode: "adjustResize" // 弹出软键盘时自动改变webview的高度
});
//添加这个是因为在安卓上设置自动调整页面高度,滑动的时候会有卡顿的效果
if(!lm.app.isIOS()){
$("html").css("height","auto");
$("body").css("height","auto");
}
加载完数据禁止掉上拉加载
mui('#pullrefresh').pullRefresh().disablePullupToRefresh();
这是我遇到的问题,有点啰嗦了,希望能帮到大家!