解决Mui中popover 顶部弹出菜单弹出位置不准确以及无法收回的问题
前言
最近公司的项目转向使用Hbuilder开发移动端项目,其中想要通过在顶部标题栏加入弹出菜单的方式,来定位长列表的位置,如图所示。
问题
Mui的功能貌似还不是很完善,在使用这个弹出菜单的时候,发现了一些很尴尬的问题:
目录的跳转我是通过锚点实现的,但是在跳转之前,这个菜单一切正常,一旦触发跳转,那么整个菜单就会卡住无法收回,但是跳转功能正常。
由于我的页面比较长,因而出现不在顶部使用弹出菜单时,弹出菜单位置像是不正确的情况,如图所示。
解决办法
1.问题一的解决方案
对于问题一,我的解决方案是手动关闭弹出菜单,这里通过控制台查找出生成的mask的class .mui-backdrop以及弹出菜单项的class .mui-table-view-cell代码如下:
//点击mask的触发事件
$(".mui-backdrop").click(function() {
$("#topPopover").hide();
$(".mui-backdrop").hide();
});
//点击菜单项的触发事件
$(".mui-table-view-cell").click(function() {
$("#topPopover").hide();
$(".mui-backdrop").hide();
});
虽然方法比较粗暴,但是可以解决这个问题,有更好的解决方案的希望能够指正。
2.问题二的解决方案
对于问题二,我的解决方案是,将它定死~。 我通过使用js写入css样式,将其设为`absolute`即可解决。代码如下:
var uip = document.getElementById("topPopover"); //topPopover是popover 的最外层div
uip.style.position = "absolute";
代码
主页面代码如下所示:
<!--头部-->
<div class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<a id="menu" class="mui-action-menu mui-icon mui-icon-bars mui-pull-right" href="#topPopover"></a>
<h1 class="mui-title" id="cityResult" class="" type='button'>xxx</h1>
</div>
<div class="mui-content">
<!--体,省略-->
</div>
<!--右上角弹出菜单-->
<div id="topPopover" class="mui-popover">
<div class="mui-popover-arrow"></div>
<div class="mui-scroll-wrapper">
<div class="mui-scroll">
<ul class="mui-table-view">
<li class="mui-table-view-cell">
<a href="#c1">行政区划简介</a>
</li>
<li class="mui-table-view-cell">
<a href="#c2">扶贫开发基本情况</a>
</li>
<li class="mui-table-view-cell">
<a href="#c3">贫困户地域分布情况</a>
</li>
</ul>
</div>
</div>
</div>
解决以上两个问题的代码:
function setPopOverMenu() {
var uip = document.getElementById("topPopover");
uip.style.position = "absolute";
$(".mui-backdrop").click(function() {
$("#topPopover").hide();
$(".mui-backdrop").hide();
});
$(".mui-table-view-cell").click(function() {
$("#topPopover").hide();
$(".mui-backdrop").hide();
});
}
欢迎访问zhkmxx930的博客 ,初来实习,多请帮助~
解决Mui中popover 顶部弹出菜单弹出位置不准确以及无法收回的问题的更多相关文章
- MUI学习03-弹出菜单(弹出列表)
弹出菜单HTML代码如下: <div class="mui-content"> <!--弹出列表-----------start--> <button ...
- 关于mui 中popover与下拉刷新冲突问题
最近用mui做app混合式开发时,作为一个后端开发,高前端确实有点吃了,期间遇到的问题肯定也不少.这两天app做更新,为了装逼,将更新的提示搞得好看些,用到了mui中的popover,结果把自己整死了 ...
- mui弹出菜单
详细操作见代码: <!doctype html> <html> <head> <meta charset="UTF-8"> < ...
- vc++ 如何添加右键弹出菜单
一.创建新工程 二.编辑菜单资源 1.添加菜单 按"Ctrl+R",双击"Menu"图标 2.于菜单编辑器内编辑菜单 四.添加代码(红色部分) void CCM ...
- (一)自定义ViewGroup绘制出菜单
从网上学习了hyman大神的卫星菜单实现,自己特意亲自又写了一编代码,对自定义ViewGroup的理解又深入了一点.我坚信只有自己写出来的知识才会有更加好的的掌握.因此也在自己的博客中将这个卫星菜单的 ...
- Mui --- 弹出菜单
mui框架内置了弹出菜单插件,弹出菜单显示内容不限,但必须包裹在一个含.mui-popover类的div中,如下即为一个弹出菜单内容: <div id="popover" c ...
- 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题
如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题 在android中有时候可能要实现一个底部弹 ...
- iOS_21团购_顶部菜单和弹出菜单联动
最后效果图: 各控件关系图1: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize ...
- bootstrap中popover.js(弹出框)使用总结+案例
bootstrap中popover.js(弹出框)使用总结+案例 *转载请注明出处: 作者:willingtolove: http://www.cnblogs.com/willingtolove/p/ ...
随机推荐
- 解决select 下拉框运行时总会有一个空值(空选项)的问题
项目中用到很多下拉选项都会多出一个空选项,如图运行结果 总会有一个空值出现,解决办法如下: 效果如下: 添加图中框选的代码即可,我是在Angularjs中使用的,在不用框架的情况下: <opti ...
- VS常用的快捷键
整理代码 Ctrl+k+f 注释 Ctrl+k+c 取消注释 Ctrl+k+u 帮助文档 F1 无调试启动 ...
- JZ-054-字符流中第一个不重复的字符
字符流中第一个不重复的字符 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g&q ...
- LeetCode-093-复原 IP 地址
复原 IP 地址 题目描述:给定一个只包含数字的字符串,用以表示一个 IP 地址,返回所有可能从 s 获得的 有效 IP 地址 .你可以按任何顺序返回答案. 有效 IP 地址 正好由四个整数(每个整数 ...
- LeetCode-019-删除链表的倒数第 N 个结点
删除链表的倒数第 N 个结点 题目描述:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 示例说明请见LeetCode官网. 来源:力扣(Leet ...
- 关于电脑上已安装SqlServer2005再安装SqlServer23008r2的处理情况
安装SqlServer2008r2可参考这个回答,带图很详细 https://xinzhi.wenda.so.com/a/1518683577611182 1.先修改2005注册表.win+R打开运 ...
- php 23种设计模式 - 迭代器模式
迭代器模式 迭代器模式 (Iterator),又叫做游标(Cursor)模式.提供一种方法访问一个容器(Container)对象中各个元素,而又不需暴露该对象的内部细节. 当你需要访问一个聚合对象,而 ...
- rsyn的使用
以下是rsync的语法: Local: rsync [OPTION...] SRC... [DEST] Access via remote shell: Pull: rsync [OPTION...] ...
- Python 基础知识自检,离深入掌握 Python 还有多远
1. 模块化编程思想 模块化编程是 Python 的基本思想.初学 Python,都应该使用过小海龟.随机.数学模块.使用模块之前,需要导入模块,然后根据自己的问题需要使用这些模块. Python 提 ...
- centos7使用chrony同步阿里云时间
1.yum -y install chrony2.cp /etc/chrony.conf /etc/chrony.conf.bak3.sed -i '/^server/s/^/#/g' /etc/ch ...