A页面有底部tab的样式,B页面没有底部tab,怎么才能设置从A页面跳转到B页面时底部消失,再从B页面跳转回A页面底部还和原来的一样,
设置从A跳转到B可以
mui.openWindow({
url:'login.html',
id:'login',
styles:{
top:"0",
bottom:"0"
}
});
再从B跳到A时把样式改成原来的就把A的样式覆盖了,不显示底部
- 发布:2017-04-12 16:24
- 更新:2017-04-12 17:47
- 阅读:1567
黑色火焰 - 个人博客:http://blog.luotiankeji.com
选项卡是不是A页面的父页面(A页面占屏幕大半部分,选项卡占屏幕小半部分)?如果是,那就简单了。
页面之间不要直接互相打开,先判断要打开的页面是否加载,如果已经加载了,则不要重复打开,用show来显示它。
所以就会有这么三个页面:选项卡页面(A页面父页面)、A页面(选项卡子页面)、B页面
注意,B页面不要直接操作A页面,而是操作它的父页面——选项卡页面,无论是打开还是show。
这样的话,打开B页面时,屏幕会被全部覆盖,打开选项卡页面时,屏幕上面是A页面,下面是选项卡。
-
w***@163.com (作者)
对,是的,tab是公共的底部,来打开其他的页面,登录注册是通过mine.html页面跳转的,mine.html页面是通过tab加载的
2017-04-12 17:01
-
w***@163.com (作者)
但是通过B直接操作tab的话,会只显示tab,tab里面的子页会不显示,,多点击几次才显示,而且B返回会点击闪烁,点好几次才返回,这是为什么?
2017-04-12 17:04
-
回复 w***@163.com:如果是这样,mine应该为tab的子页面(各占屏幕一部分),其它页面都不为tab的子页面,这样新的页面一打开就会占满整个屏幕,要回到mine页面时,只需要将其它页面关闭即可,或者是将tab这个父页面show一下,tab和mine就会一起显示了。
2017-04-12 17:07
-
回复 w***@163.com:你说通过B操作tab,是调用show方法,还是重新new了一个tab,如果是重新new了一个,webview的id相同是会冲突的
2017-04-12 17:09
-
w***@163.com (作者)
mui.openWindow({
url:'tab.html',
id:'tab',
styles:{
top:"0",
bottom:"50px"
}
});2017-04-12 17:12
-
回复 w***@163.com:一定每次都要重新打开tab页面?如果不是,那么这样:
var tab=plus.webview.getWebviewById('tab');
if(tab){
tab.show();
}
else{
mui.openWindow({
url:'tab.html',
id:'tab'
});
}
另外,bottom为什么你要设为50px?2017-04-12 17:19
-
回复 w***@163.com:刚才试了下,如果tab在mui.init中创建A子页面,那么在B页面中对tab用show方法,确实不会显示A子窗口。这里可以使用5+的append方法来创建子页面,具体API调用可以看html5+的文档,下面楼层我写了个demo你看看。
2017-04-12 17:51
-
回复 w***@163.com:没事。你刚才说连续点击多次左上角的返回,才能关闭该页面?我之前遇到过类似的BUG,建议你加个按钮在页面上,按钮执行 plus.webview.currentWebview().close();//这绝对能关闭当前页面
然后通过这个按钮来关闭页面看是否能一次性关闭,如果能的话,可以说遇到了跟我一样的BUG,那么你改写mui.back函数就行了。
如果依然不能,可能你打开了多个B页面,你关了一个又显示了一个B页面。2017-04-12 17:57
小米稀饭大米粥 - 诗词歌赋,样样稀松。
背景图是B页面的background-image吧?返回怎么可能能把背景图返回到父页面A呢?这个就有问题。实在不行,A既然是选项卡,你调整下选项卡的优先级:z-index:9999 试试
w***@163.com (作者)
对,可以返回,但是返回时A页面的tab就变化了,B页面有背景图,就把背景图也加到了A页面
2017-04-12 16:41