ほろ酔いで使用するために、非常によく似たコードを自分で作成する必要がありました(したがって、私のソリューションではjQueryを使用します)。<div id="mydiv">...</div>
作業しているdivがであると仮定して、これが基本的な計算です。右端と下端までの距離を測定するときも、divの高さと幅を考慮します。
dTop
、、、およびはdBottom
、それぞれdivの上端、下端、左端、および右端からビューポートの同じ端までの距離です。divの左上隅に基づいて測定する場合は、減算しないでください。またはを計算するときに。dLeft
dRight
dTop
dLeft
dBottom
dRight
var $doc = $(document),
$win = $(window),
$this = $('#mydiv'),
offset = $this.offset(),
dTop = offset.top - $doc.scrollTop(),
dBottom = $win.height() - dTop - $this.height(),
dLeft = offset.left - $doc.scrollLeft(),
dRight = $win.width() - dLeft - $this.width();