JavaScript を使用して、Netscape と Firefox で最初に非表示の div 要素の高さを取得しようとしています (IE では正常に動作します)。MyElement.scrollHeight、MyElement.offetHeight、MyElement.style.height、および最初に表示される要素を設定し、高さを取得してから再度非表示にするさまざまな方法を使用してみました。値が 0 になり続けます。何か考えはありますか?
2 に答える
1
私が間違っている場合は訂正してください(私はそうかもしれません)が、いくつかの調査を行った結果、表示された要素:高さがない要素はありません。
高さを取得するには、それらを再表示し、高さを取得してから、再度非表示にする必要があります。このような問題は、過去に次のように発生しました。
jQuery:height()/ width()および "display:none"
(両方のjQueryの例ですが、要点はわかります)
于 2012-09-23T18:39:28.610 に答える
0
Netscapeの非表示の要素にはアクセスできません。
画面の外にあるdivのスタイリングホールでその位置を設定できます。たとえば、左上の-9999に移動します。次に、高さや幅などの属性にアクセスできます。
その要素を表示して属性を取得し、再度非表示にすることもできますが、要素が少しだけ表示され、ユーザーが画面上でジャンプしているように感じる可能性があるため、通常はありません。
スタイルを「絶対」に設定し、「上」を-9999px以上(プロジェクトの高さに応じて)に設定して配置し、DOMや必要なものを使用して要素の高さと幅を取得する必要があります...
于 2012-09-23T18:40:01.527 に答える