-1

だから私は取り組んでいるメガメニューを持っていて、それを画面サイズに合わせたいと思っています。サブメニューがドロップダウンされたときに、画面の端からはみ出したくありません。私の計画の問題点は、実際にブラウザーに表示される前に、要素の位置を検出する方法がわからないことです。これを達成する方法はありますか?

4

5 に答える 5

3

要素は、ブラウザに表示されるまで位置ありません。

于 2012-07-02T19:56:22.310 に答える
2

要素の不透明度を 0.01 にして、その位置を確認できます。これにより、表示されますが、通常のユーザーには表示されません。

var offset = $(selector).show().css('opacity',0.01).offset();
$(selector).css('opacity',1).hide();
于 2012-07-02T20:00:55.667 に答える
0

要素を表示してその位置を取得し、後で非表示にすることができます。

var element = $('#element');
element.show();
var position = element.position();
element.hide();

デモ

于 2012-07-02T20:07:24.580 に答える
0
var offset = $(selector).fadeTo(1, .01).offset();
$(selector).hide();
于 2012-07-02T20:10:35.667 に答える
-1
if($(this).offset().left - 90 < window.screenLeft) { 
    $(this).next().css('left','0')
}
else if($(this).offset().left + $(this).outerWidth() + 90 > window.innerWidth) {
    $(this).next().css('right', '0')
}
else { 
    $(this).next().css('left', '-90px')
}
于 2012-07-02T20:12:47.173 に答える