用frame做载体问一下你要做什么? 菜单?

解决方案 »

  1.   

    http://jkisjk.vip.sina.com/html/DivBeforeSelect.htmDiv被Select挡住,是一个比较常见的问题。
    有的朋友通过把div的内容放入iframe或object里来解决。
    可惜这样会破坏页面的结构,互动性不大好。这里采用的方法是:虽说div直接盖不住select
    但是div可以盖iframe,而iframe可以盖select,
    所以,把一个iframe来当作div的底,
    这个div就可以盖住select了.
      

  2.   

    用 iframe 做为层的载体说实话应该算是最好的解决方案了, 可以跨 iframe select object flash ,可以与主页面交互, 没有破坏页面结构, 所以用 iframe 我做了一批控件: 日历, 下拉菜单, 右键菜单, 可输入式下拉框等等, 本来在IE里可以用 window.createPopup() 的, 可惜兼容性不高.
      

  3.   

    1"iframe 做为层的载体"后,
    层与主页面的互动是窗口间的互动
    2“用一个iframe当div的底”后,
    层与主页面的互动是窗口内的互动另外,对于方法1,
    层的大小变化就会要求iframe的大小随着变化
    从主页面到这个层会导致window的blur.对于方法2,
    只是在原有的div前加上这一句
    <iframe  style="position:absolute;z-index:9;width:expression(this.nextSibling.offsetWidth);height:expression(this.nextSibling.offsetHeight);top:expression(this.nextSibling.offsetTop);left:expression(this.nextSibling.offsetLeft);" frameborder="0" ></iframe>
    (如果用css可能要看起来简洁点)
    如果用div时用什么代码,加上一这句后几乎代码不用改变。“跨iframe select object flash”里“跨”是“盖”的意思吗?
    如果是,那么两种方法的效果是一样的
      

  4.   

    “从主页面到这个层会导致window的blur.”
    这一句我没试过。
    只是在我做可输入下拉框时,
    在input的blur里要判断下一个srcElement时与这个问题可能有关,
    自已猜想如果用iframe,可能会判断不了“下一个srcElement时”
    所以这么猜(从主页面到这个层会导致window的blur)。
      

  5.   

    楼上的解决方法都不错,但有个问题就是插入过多的iframe好像比较耗系统资源啊,不过这也是没有办法的事情,可以考虑用object对象遮盖
      

  6.   

    用 object 对象也是一种办法, 但它的缺点就是脚本与 object 的交互太差了, 且兼容性也有问题
      

  7.   

    惭愧,没比较过object与iframe的效率差别
      

  8.   

    有关createPopup的个人看法popup窗口里好多功能都有限制
    想实现某些效果,做起来却绑手绑脚
    十分不爽。
      

  9.   

    createPopup 不错啊,层优先级最高!