跨平台移动APP开发进阶(三)hbuilder+mui mobile app 开发心酸路
1.问题描写叙述:在实现图片轮转时,若将
<script type="text/javascript">
mui("#slider").slider({
interval: 5000
});
</script>
置于图片载入之前。图片不会显示,
解决措施:将其置于图片显示之后才会显示。
2.问题描写叙述:
同上面的问题。会遇到报指针为null的异常。若要获取一个组件的id,可能带获取的组件还未载入。导致获取失败。
解决措施:将获取组件id的js脚本在定义组件id之后完毕。
3.问题描写叙述:页面是由主页面加内容页面组合而成。
在主页面做弹出菜单时,弹出菜单无法显示。
问题根源:内容页面遮挡了弹出菜单,致其无法显示。
解决措施:弹出层放在内容页面里,父页面通知内容页面来显示。(使用遮罩蒙版技术解决)
注:在popover、側滑菜单等界面。常常会用到蒙版遮罩;比方popover弹出后。除popover控件外的其他区域都会遮罩一层蒙版。用户点击蒙版不会触发蒙版下方的逻辑,而会关闭popover同一时候关闭蒙版;再比方側滑菜单界面。菜单划出后。除側滑菜单之外的其他区域都会遮罩一层蒙版,用户点击蒙版会关闭側滑菜单同一时候关闭蒙版。
这是一个跨webview的popover演示样例,在父webview中。点击后通过自己定义事件通知子webview,子webview再运行popover的显示隐藏逻辑;
思想来源于Hbuilder群,启示了自己。通过HBuilder自带的演示样例能够非常好的解决自己遇到的问题。
折腾了将近一天这个问题还是没能得到解决!
弹出菜单还是被内容页面遮挡。如图一所看到的。事实上自己是想实现图二:
疑惑:父页面怎样与内容页面传递数据?
图一
图二
4.问题描写叙述:一个view有诸多button,可不能够通过一个函数推断点击的是哪一个button?并获取其id
解决措施:
//on中參数的含义依次为事件、选择器、參数、方法,当中选择器与參数为可选项
mui('.mui-content').on('tap','body',function(){
alert(this.id);// (依据id推断是哪一个button)
})
总结:mui中的方法都是封装的jquery,所以自己还得从jquery着手,由于好多方法不会用,不知道參数的含义。
5.问题描写叙述:因为index页面的顶部导航栏与分类页面的头顶部导航栏同样。header和content在不同的webview中。
我想提升代码的复用性(即多个content页面均使用同一个header页面)。怎样解决?Mui可以做到吗?
解决措施:使用webview模式选项卡。何谓webview模式?事实上就是每一个选项卡内容都是一个独立的webview。彼此之间互相独立、互不影响; 对于较为复杂的业务系统,推荐使用该模式。另外。基于webview模式的选项卡。支持原生加速的下拉刷新。例如以下图:
感触:事实上非常多问题都能够从Hello mui demo 中得到答案。自己要常常操作以求更加熟悉。
6.问题描写叙述:见下
解决措施:见上。