-1

ajaxから返された画像を垂直方向に揃えようとしていますが、ajaxから返された画像(HTML)でそれを行うと、適用されません。これが私のコードです:

$.ajax({
    type: "POST",
    url: "extra.php",
    data: mystr,
    cache: false,
    success: function(html) {
        $('.mydiv').empty();
        $(".mydiv").append(html);
        middle_align();     
    }
});

これが私が追加しているものです

echo '
<div id="box">
<img src="'.$path.$name.'.jpg"  class="loadimg" />
                </div>  ';

これがミドルアライン機能です

function middle_align(){
     var child = $(".loadimg").height();
     var parent = $("#box").height();
 var margin = (parent - child)/2;
  $(".box").children("img").css('margin-top', margin); 
                    }

この関数は他の場所ではうまく機能しますが、ajaxによってロードされたデータでは機能しません。親切に助けてください。

4

2 に答える 2

1

ajaxを同期させてみてください。 async : false

于 2012-09-14T16:36:53.480 に答える
0

これを試して

success: function(html) {
$('.mydiv').html('');
$(".mydiv").append(html);
var child = $(".loadimg").height();
var parent = $("#box").height();
margin =(parent - child) / 2 ;
$("#box").find("img").css('margin-top', margin);
}
于 2012-09-14T15:40:26.663 に答える