+ -
当前位置:首页 → 问答吧 → iframe中的下拉菜单,能不能突破iframe显示

iframe中的下拉菜单,能不能突破iframe显示

时间:2010-05-25

来源:互联网

iframe中的下拉菜单,能不能突破iframe显示


iframe有固定的高度。

作者: xuejs   发布时间: 2010-05-25

能,见过这样的例子,现在记不起来了。

纯属帮顶

作者: xyztony1985   发布时间: 2010-05-26

恕小生无知了。谁贴一下代码。

作者: dsqwei1   发布时间: 2010-05-26

标记一下.

作者: SunSeaT   发布时间: 2010-05-26

我也正在求解呢,
http://fhsd168.com/txt/bbjh/bbjh_02.html导航条的下了无法显示,不知道怎么办了。

作者: jy02150777   发布时间: 2010-06-07

无限级下拉菜单: http://bbs.blueidea.com/thread-2973933-1-1.html

作者: hj1227   发布时间: 2010-06-07

突破iframe其实就是在父页面显示层,javascript方法:
window.top

这里对于坐标计算会有点麻烦,思路如下:
A =  首先获取iframe相对于本页的坐标
B = 计算iframe里面链接相对于iframe页面的坐标
所求结果 = A + b

-----------------------------------------

本页html:
复制内容到剪贴板
代码:
<iframe id="test" src="./iframe.html" ></iframe>
<script>
(function(){
    var $gid = function (id){
        return document.getElementById(id);
    };
    var $gbcr = function (obj){
        var p = obj.getBoundingClientRect();
        return {left: p.left, top: p.top};
    };
    // 获取iframe的相对于本页的位置
    var thisPage = $gbcr($id('test')),
        thisLeft = thisPage.left,
        thisTop = thisPage.top;
    
    // 获取子页面菜单按钮相对于iframe的位置
    var iframePage = $gbcr($id('test').contentWindow.$gid('showMenu')),
        iframeLeft = iframePage.left,
        iframeTop = iframePage.top;
    
    // 菜单按钮与本页的坐标结果
    var btnLeft = thisLeft + iframeLeft,
        btnTop = thisTop + iframeTop;
)();
</script>
iframe html:
复制内容到剪贴板
代码:
<a id="showMenu">打开菜单</a>
-----------------------------------------

作者: tangbin1987   发布时间: 2010-06-07

相关阅读 更多