ホームページ >ウェブフロントエンド >jsチュートリアル >ブラウザの高さ、ウィンドウの高さ、要素のサイズ、オフセット属性を取得するjsメソッド
以下に示すように:
screen.width screen.height screen.availHeight //获取去除状态栏后的屏幕高度 screen.availWidth //获取去除状态栏后的屏幕高度
1. ブラウザを通じて画面のサイズを取得します
2. ブラウザウィンドウのコンテンツのサイズを取得します
//高度 window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight //宽度 window.innerWidth || document.documentElement.clientWidth || document.body.clientWidht / * * window.innerHeight FF/CH 支持,获取窗口尺寸。 * document.documentElement.clientHeight IE/CH支持 * document.body.client 通过body元素获取内容的尺寸 * /
3. スクロールバーのサポートの違い
いいえ スクロール バーを変更するページでは、Firefox/IE はスクロール バー属性を持つ HTML 要素をデフォルトで使用します。体にはそれがありません。
しかし、Chrome は本文にスクロール バー属性があると認識します。
したがって、互換性のための記述方法は次のとおりです:
document.documentElement.scrollTop || document.body.scrollTop
4. 要素のサイズを取得します
elemnt.offsetWidth elemnt.offsetHeight // 仅IE5不支持,放心使用吧
* offsetWidth は、要素の高さのサイズを取得できます。これには、width + padding[left,right] + border[left,right ]
* offsetHeight は、高さ +padding[top,bottom] +bottom[top,bottom]
5 を含む要素の幅のサイズを取得できます
element.offsetTop //获取元素与其偏移参考父元素顶部的间隔距离 element.offsetLeft //获取元素与其偏移参考父元素左边的间隔距离 element.offsetParent //获取当前元素的参考父元素
5。
*offsetTop は、要素の親要素のオフセット参照の上部からの距離を取得できます。含める: margin[top] + top
*offsetLeft は、上位レベルのオフセット参照親要素の左側からの要素の距離を取得できます。含まれるもの: margin[left] + left
* offsetParent には、IE6/7 の IE8/FF/CH との互換性の問題があることに注意してください:
FF/Chrome/IE8+ の場合:
現在の要素が配置されている場合、オフセット参照親要素は、その 1 レベル上に最も近い位置にある要素です。
現在の要素が配置されていない場合、デフォルトでは body が最終参照親要素になります。
IE6/7 の場合:
配置の有無に関係なく、オフセット参照の親要素は、その上位レベルの親要素になります。
一般:
FF/ChromeでもIEでも、最終参照親要素はbody要素となるため、互換性のある方法は、現在の要素からbody要素までのオフセット位置の値を取得することです。
互換性の書き込み
function getOffestValue(elem){ var Far = null; var topValue = elem.offsetTop; var leftValue = elem.offsetLeft; var offsetFar = elem.offsetParent; while(offsetFar){ alert(offsetFar.tagName) topValue += offsetFar.offsetTop; leftValue += offsetFar.offsetLeft; Far = offsetFar; offsetFar = offsetFar.offsetParent; } return {'top':topValue,'left':leftValue,'Far':Far} } /* * top 当前元素距离body元素顶部的距离。 * left 当前元素距离body元素左侧的距离。 * Far 返回最终的参考父元素。 */