2

画面の下部のナビゲーションに YUI メニューがあり、その下にアクション リストが表示される場合にレンダリングされる大きな空白が作成されます...

最初のクリックでは、メニューはユーザーがスクロールして表示する必要がある空白にレンダリングされます... ただし、2 回目のクリックでは上向きに描画されるため (理想的には)、ユーザーはメニューを表示するためにスクロールする必要がありません。 .. 2 回目のクリックでも、空白のブロックが削除されます...

display:none のスタイルを div に追加すると、空白が削除されることがわかりました...しかし、YUI はディスプレイをブロックに設定しません。手動で...しかし同じ動作が発生し、メニューは最初にフォールドの下にレンダリングされ、ユーザーはスクロールする必要があります....2回目は正常に動作します...何らかの理由で、最初のクリックで上/左の位置が正しく計算されていませんそして、私はその理由を理解できないようです

4

2 に答える 2

1

わかりましたので、次の属性を持つメニューを含む div にスタイルを追加するだけで修正しました..

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

このようにして、常にコンテンツが存在する画面の左上に div が描画されるため、空白が作成されません。YUI が display:none ではなく visibility:hidden を使用しているため、空白が作成されていました。

于 2010-03-23T00:07:19.763 に答える
0

メニューの構成オプションのプロパティを使用してみましたかconstraintoviewport(で検索してくださいYUI.widget.Menu):

(YAHOO.widget.Overlay から継承されます。) メニューがビューポートのサイズの境界内にとどまろうとするかどうかを示すブール値。このプロパティは、「位置」構成プロパティが動的に設定されている場合にのみ適用され、すべてのサブメニューに自動的に適用されます。

を使用している場合は、そのオブジェクトのプロパティYUI.widget.Buttonへの参照を取得して、そのように設定できると思います。Overlayconstraintoviewporttrue

于 2010-03-22T23:01:43.637 に答える