$(document).ready()でスクリプトを実行していますが、これはレイアウト内のブロック要素を垂直方向に揃えるためのものです。 90%の時間、それは問題なく動作します。しかし、2つのうちの1つが発生し、余分な10%:
それがセンタリングを行うために要する時間の明らかな遅れがあります、とブロック要素は、所定の位置にジャンプします。これは単にパフォーマンスに関連している可能性があります。ページのサイズはしばしば大きく、一度に実行されるJavaScriptの量がかなり多いためです。
センタリングが完全に台無しになり、ブロック要素があまりにも遠くまで押し込まれるか、十分に遠くに押し込まれます。あたかも高さを計算しようとしたように見えますが、不適切な測定が行われていました。
DOM-readyでスクリプトを実行しても、正しいCSS値がすべてDOMに注入されていない理由はありますか? (すべてのCSSは<link>
で<head>
にあります)。
(function ($) {
// VERTICALLY ALIGN FUNCTION
$.fn.vAlign = function() {
return this.each(function(i) {
var ah = $(this).height();
var ph = $(this).parent().height();
var mh = (ph - ah)/2;
$(this).css('margin-top', mh);
});
};
})(jQuery);
ありがとう:
はまた、ここでの問題(はい、それはhereからまっすぐに取られています)を引き起こしているスクリプトです。
画像が含まれていますか?スタイルが計算された後でも、イメージの読み込みによって再レイアウトが発生する可能性があります。今日いくつかのテストをしながら – sam