Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript YUI菜单呈现在下面;“折叠”;首次公开赛_Javascript_Yui_Yui Menu - Fatal编程技术网

Javascript YUI菜单呈现在下面;“折叠”;首次公开赛

Javascript YUI菜单呈现在下面;“折叠”;首次公开赛,javascript,yui,yui-menu,Javascript,Yui,Yui Menu,我有一个YUI菜单在屏幕的底部导航,它会在下面创建一个大的空白区域,如果可以看到的话,动作列表就会呈现出来 在第一次单击时,菜单将呈现在需要用户滚动查看的空白处。。。但是,在第二次单击时,它将向上绘制(理想情况下),以便用户不必滚动查看菜单。。。第二次点击也会杀死那块空白 我发现添加了一种显示样式:在div中添加none会消除空白。。。但是YUI没有将显示设置为阻塞,根据我的理解,应该。。。所以我写了另一个方法,可以手动完成。。。但同样的情况也会发生,菜单首先呈现在折叠下方,要求用户滚动。。。。

我有一个YUI菜单在屏幕的底部导航,它会在下面创建一个大的空白区域,如果可以看到的话,动作列表就会呈现出来

在第一次单击时,菜单将呈现在需要用户滚动查看的空白处。。。但是,在第二次单击时,它将向上绘制(理想情况下),以便用户不必滚动查看菜单。。。第二次点击也会杀死那块空白


我发现添加了一种显示样式:在div中添加none会消除空白。。。但是YUI没有将显示设置为阻塞,根据我的理解,应该。。。所以我写了另一个方法,可以手动完成。。。但同样的情况也会发生,菜单首先呈现在折叠下方,要求用户滚动。。。。第二次它的作品很好。。。某些原因导致第一次单击时未正确计算顶部/左侧位置,我似乎无法理解为什么您尝试使用菜单配置选项的
constraintoviewport
属性(在以下位置搜索):

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


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

好的,因此我只需向包含以下属性的菜单的div添加一个样式即可修复它

    position: absolute;
    left:0px;
    top:0px;
这样,它将在屏幕的左上角绘制div,其中总是有内容,因此不会创建空白。创建的空白是YUI使用可见性:隐藏而不是显示:无