详细问题描述
[内容]
我有两个页面,A和B,A页面是首页列表,预加载了B页面,当A页面点击一条新闻的时候,show出B页面。
B页面是新闻详情页,我希望手指从左往右拖拽后,动画隐藏B页面。并且在动画结束后,手动触发hide事件
现在遇到的问题是,我第一次从A点击到B,然后手指从左往右拖拽返回A页面,手动触发hide事件,都正常。
但是当我再次点击A页面的新闻,就不能再转场到页面B了。也不报错,请官方解决这个问题,谢谢。
重现步骤
[步骤]
B页面的相关代码,A页面就是用mui.preload预加载了这个B页面
ws.drag({direction:'right',moveMode:'followFinger'}, {view:wp,moveMode:'silent'}, function(e){
if(e.type=='end'&&e.progress==100) //当拖拽动画结束
{
plus.webview.hide(plus.webview.currentWebview()); 手动触发隐藏B页面
console.log('hideEnd');
}
});
[结果]
[期望]
希望在A页面从新点击能进入B页面,我不想要“pop-in”这种A,B联动效果,只想要B页面可以拖拽返回,谢谢
运行环境
MacOS
[系统版本]
[浏览器版本]
[IDE版本]
Hbuiler 8.8.4
[mui版本]
附件
[代码片段]
[安装包]
联系方式
[QQ]
[电话]
3***@qq.com (作者)
谢谢提示,可否详细说下重设位置代码逻辑该怎么写,我没有思路,是设置到left:100%吗?
2017-10-02 22:28
DCloud_heavensoft
left设成0
2017-10-02 22:31
3***@qq.com (作者)
回复 DCloud_heavensoft:按照你说的,我把drag运动结束后的B页面的style left设置成0了,运行结果就是刚刚右滑隐藏了的B页面,运动结束后立马跑到屏幕里显示在用户面前,同时100%也不行,运动结束后,无法再次点击A页面的新闻列表 slide-in-right进B页面
2017-10-02 23:19
DCloud_heavensoft
回复 3***@qq.com: 先hide,再设left为0。不能设left为100%,left为100%的意思是正好移出屏幕外,即距离屏幕左边距为屏幕宽度的100%。
2017-10-03 05:16
3***@qq.com (作者)
回复 DCloud_heavensoft:谢谢,设置成left:0后,一切正常了,不过这个drag api设计的让我费解,为什么必须要关联两个窗口呢?比如我在B页面必须关联一个A页面,其实我A页面并不动
2017-10-03 11:04
DCloud_heavensoft
回复 3***@qq.com:这是个通用api,比如在顶部放一个可拖动的tab,类似今日头条首页那样,就需要2个Webview一起动
2017-10-03 16:08
3***@qq.com (作者)
回复 DCloud_heavensoft:原来是这样,谢谢,我还有一个问题,如果是在A页面,绑定关联B页面,这个时候我在A页面手指“从右往左”滑动,希望A页面不动,B页面跟随手指从右边滑动进来,应该怎么实现呢?
2017-10-04 20:19
DCloud_heavensoft
回复 3***@qq.com:还是这个api,我不方便写写代码。这个效果在流应用里的网易新闻的详情页就是这样,往左拉出评论
2017-10-04 21:29
3***@qq.com (作者)
回复 DCloud_heavensoft:嗯嗯,我研究一下,谢谢
2017-10-05 16:28