让Bootstrap3的菜单位于Iframe之上
来源:互联网 发布:光纤网络布线 编辑:程序博客网 时间:2024/05/16 09:08
一般情况下,Bootstrap的菜单可以由如下方法创建:
<div class="dropdown"> <a data-toggle="dropdown" href="#">单击我显示菜单</a> <ul class="dropdown-menu" role="menu"> <li><a class="menuitem" tabindex="-1" href="#">菜单项1</a></li> <li><a class="menuitem" tabindex="-1" href="#">菜单项2</a></li> <li><a class="menuitem" tabindex="-1" href="#">菜单项3</a></li> </ul></div>
但是有些时候,dropdown的外层容器并非DIV(可能是li或者其他元素),或者菜单DIV被设置了大小,或者菜单需要位于带有z-index的元素之上,这个时候可以使用绝对定位创建菜单。
menuHtml = '<div class="dropdown" style="position:absolute" id="nav_toggler_wrap">';menuHtml += '<a data-toggle="dropdown" id="nav_toggler"></a>';menuHtml += '<ul class="dropdown-menu" role="menu">'menuHtml += '<li><a class="menuitem">关闭所有选项卡</a></li>';menuHtml += '</ul>';menuHtml += '</div>';$("body").append(menuHtml);
因为是绝对定位,这里菜单可以放在任何位置,如果iframe被设置了z-index,dorpdown也要设置。为了方便触发了调整菜单的位置,这里给菜单 Wrap和触发的元素都设置了ID。
然后,在需要触发的位置:
obj.on('click',function(e){e.stopPropagation();//必须有 否则菜单弹出后会立刻消失var _this = $(this);if(_this.hasClass("navigation-item-options-menu-button")){var pos = GetAbsPos(this);$("#nav_toggler_wrap").css({"top":pos.top+32,"left":pos.left});$("#nav_toggler").dropdown("toggle");}});
GetAbsPos是一个函数,用于获得某元素的绝对坐标
function get_abs_position(obj){var o = $(obj);var obj_x = o.offset().left;var obj_y = o.offset().top;while(o.attr("parentNode")){o = o.parent();obj_x += o.offset().left;obj_y += o.offset().top;}var p = {"left":obj_x,"top":obj_y};return p;}
这样,当点击按钮时,菜单就会弹出了,实际上,Bootstrap的菜单非常简单,只需要给dropdown所在的元素添加类open,菜单就会展开。效果如下:
0 0
- 让Bootstrap3的菜单位于Iframe之上
- 通过自建iframe遮罩层解决flash位于window窗口之上的问题
- 通过自建iframe遮罩层解决flash位于window窗口之上的问题
- 让swfobject.js 支持透明的flash,即让悬浮的div能够位于flash之上
- iframe的下拉菜单
- bootstrap3:hover下拉菜单
- bootstrap3树形菜单
- Bootstrap3多级导航菜单
- Angular+Bootstrap3导航菜单
- Bootstrap3多级导航菜单
- Bootstrap3多级导航菜单
- 让bootstrap3兼容ie8
- Android之上下文菜单
- 漂浮广告位于网页flash之上
- 让HTML5, CSS3, Bootstrap3在虐心的IE8上爬模滚打
- 基于EasyUI的基础之上实现树形功能菜单
- 让人困惑的IFRAME
- 菜单(iframe)
- 3-5 处理其他进制的itoa函数
- 10046事件分析
- OpenERP7.0安装后提示“not supported"
- SQL Server 内存管理
- JQuery 快速入门一篇通
- 让Bootstrap3的菜单位于Iframe之上
- Android 开发常用代码片段
- OpenERP QWeb模板标签笔记
- HashMap多线程调用下的死循环问题
- HBASE 使用
- iframe get请求传递中午参数 乱码 解决方案
- 命名空间错误
- Android进程的内存管理分析
- string stringbuffer stringbuilder 总结