JQuery Mobile Popup窗口定位

在JQuery Mobile 1.4.5 Demo中,有Popup窗口定位的实例,看上出倒是很强大,自己用起来的确很蛮烦的,本人通过修改窗口位置来实现相对定位,供参考。

/*计算菜单位置*/
function openGroupMenu(){
    var left, top;
    var rect = document.getElementById('vbook-books-menu').getBoundingClientRect();
    var winrect = document.getElementById('vbook-menu-group').getBoundingClientRect();
    left = rect.right - winrect.width/2;
    top = rect.bottom + winrect.height/2;
    $('#vbook-menu-group').popup("open", {
                x:left,
                y:top});
    /*计算三角型的位置*/
    winrect = document.getElementById('vbook-menu-group').getBoundingClientRect();
    document.getElementById('vbook-menu-group-arrow').style.left = (rect.left + rect.width/2 - winrect.left) + "px";
}

vbook-books-menu为需要定位的div ID.
vbook-menu-group为Popup窗口的div ID.
vbook-menu-group-arrow为Popup窗口的箭头ID。
HTML代码如下:

<div data-role="popup" id="vbook-menu-group"
    class="vbook-menu-popup ui-popup-container ui-popup-active ui-popup ui-corner-all">
    <ul data-role="listview" data-inset="true" style="min-width:210px;">
        <li><a href="#">封面模式</a></li>
        <li><a href="#">列表模式</a></li>
    </ul>
    <div  class="ui-popup-arrow-container ui-popup-arrow-t">
    <div id="vbook-menu-group-arrow" class="ui-popup-arrow ui-body-inherit"></div>
    </div>
</div>

通过样式可以实现如下效果:

菜单定位效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值