要素の垂直方向の整列のためにクロスブラウザソリューションを使用しようとしています(それは何度も文書化されているため、要素に画像が含まれているChromeを使用する場合を除いて、効果的です。これは、画像がまだ読み込まれていないため、Chromeが画像の高さを0と判断するためです。これを修正するために、以下のjQueryをどのように変更すればよいですか?jQueryを使用した垂直整列要素(ユニバーサルソリューション)
ありがとうございます!
$(document).ready(function() {
$(".valign").vAlign();
});
(function ($) {
$.fn.vAlign = function() {
return this.each(function(i){
var ah = $(this).height();
var ph = $(this).parent().height();
var mh = Math.ceil((ph - ah)/2);
if (mh < 0) {
mh=0;
}
$(this).css('margin-top', mh);
});
};
})(jQuery);
これは機能しますが、十分に一般的ではありません。私はこれを複数の状況で使用したいと思います。画像が格納されているS3バケットとのリンクが何であるかはわかりません。また、要素内に複数のimgがあり、縦方向に整列させたいという状況もあります。それぞれの中に入る必要はありません。 – delphi
私は答えた後に気づいたが、最初に応答を得たいと思っていたが、とにかく$(this)と呼んでいるので、それぞれを行うために$(this)ロードを使うことができるが、あなたがsrcを知っていないことを読み込んでいます。 – meteorainer