跨框架的下拉菜单的跨浏览器,干净的解决方案?

chr*_*ris 12 html javascript css jquery-plugins

首先让我说我非常喜欢Superfish(&jQuery).不幸的是,这显然是? - 不提供开箱即用的跨框架支持.

情况:外联网网站,由2个框架组成,水平划分.顶部框架(最小的框架)包含一个菜单.当鼠标悬停在此菜单上时,"下拉"内容会显示在底部框架中(当然,在其他元素上).这是一个例子(实际上,我们今天使用的解决方案):http://javascript.cooldev.com/scripts/coolmenu/demos/frames/

那么有没有人知道一种方法来构建一个干净的(使用标准的HTML/CSS和尽可能少的JS)解决方案?任何帮助,将不胜感激!:)

rod*_*ehm 13

我想军队将采取"沟渠你的框架"的事情,所以我不会.我假设你已经告知自己没有框架的替代品,并得出结论你需要框架(无论什么[荒谬的]原因).

简短的故事是:你不能突破一个框架,就像你不能突破窗户一样.所有内容都包含在框架/窗口中 - 没有办法让内容流失.

也就是说,你有两个选择.

  1. 您的父文档恰好是包含两个iframe的常规文档,所有文档都是从同一主机(SOP)提供的.在这种情况下,您的菜单框架可以在父框架中创建实际与iframe本身重叠的元素.因此,您可以将父元素中的元素放置在菜单框的相应元素下方,同时在内容框架上对其进行z索引
  2. 您的父框架是框架集文档,因此不会采用框架以外的任何内容.你不幸运.您唯一能做的就是让菜单框执行(1)中描述的相同技巧,但将菜单元素附加到内容框架.

两种选择都很糟糕.如果您有选项,请丢弃框架.任何愚蠢的服务器端语言(php,ruby,python,...)都允许您将经常重复使用的组件(如导航)提取到单独的文件中,并将它们链接到您已获得的每个其他文档中.SSI也可能是一种选择.


Tho*_*ith 4

如果您使用框架的唯一原因是将菜单附加到窗口顶部,那么您可以简单地position: fixed在 CSS 中使用。