首次打开时,YUI菜单呈现在“折叠”下面

时间:2010-03-22 20:13:16

标签: javascript yui yui-menu

我在屏幕的底部导航栏中有一个YUI菜单,在其下方创建一个大的空白区域,如果可见,将呈现动作列表......

在第一次单击时,菜单将在该空白区域中呈现,这需要用户滚动查看...在第二次单击时,它将向上绘制(理想情况下),以便用户无需滚动查看菜单......第二次点击也会杀死那块白色空间...

我发现添加了一种显示风格:没有div杀死白色空间......但是YUI没有将显示设置为阻止,这从我理解它应该...所以我写了另一种方法会手动做到这一点......但是同样的行为发生,菜单首先呈现在折叠下方,要求用户滚动....第二次它的工作正常...某些原因上/左位置没有正确计算第一次点击,我似乎无法弄清楚为什么

2 个答案:

答案 0 :(得分:1)

好的,所以我通过简单地将一个样式添加到包含具有以下属性的菜单的div来修复它。

    position: absolute;
    left:0px;
    top:0px;

这样它将在屏幕的左上角绘制div,其中总是有内容,因此不会创建空格。正在创建空白,因为YUI使用visibility:hidden而不是display:none

答案 1 :(得分:0)

您是否尝试将constraintoviewport属性用于菜单的配置选项(在YUI.widget.Menu搜索):

  

(继承自YAHOO.widget.Overlay。)布尔值,指示菜单是否会尝试保持在视口大小的边界内。仅当“position”配置属性设置为dynamic并且自动应用于所有子菜单时,才应用此属性。

如果您使用的是YUI.widget.Button,我相信您可以获得该对象的Overlay属性的引用,并将constraintoviewport设置为true