1

画像がロードされた後の画像の配置 (div コンテナーの中央に配置) に問題があります。私が使用している Javascript コードは PHP で動作しますが、Url.Action を使用しているためか、問題があります。動くイメージもあれば、とどまるイメージもあります。

              foreach(GetFriendsItem hItem in (List<GetFriendsItem>)Model)
              {
                  Html.RenderPartial("~/Views/Users/_UserProfile.cshtml", hItem );
              }

/Views/Users/_UserProfile.cshtml

<img src="@Url.Action("Show", "Image", new { id = @Model.m_unUserID })" class="imageNarrowly image" />

JavaScript

 $(function() {

    $(".image").load(function(index, val){
      // dimensions of the image
      var imageWidth = $(this).width();
      var imageHeight = $(this).height();

      var parentHeight = $(this).parents($(this).parent).height();
      var parentWidth = $(this).parents($(this).parent).width();


      if (parentHeight > imageHeight){
        topOffset = (parentHeight/2 - imageHeight/2);
        $(this).css({'top': topOffset}); 
      }

      if (parentWidth > imageWidth){
        leftOffset = (parentWidth/2 - imageWidth/2);
        $(this).css({'left': leftOffset}); 
      }
    });


  });
4

1 に答える 1

0

プロパティをまたはpositionと一緒に使用するlefttop

$(".image").load(function(index, val){
  // dimensions of the image
  var imageWidth = $(this).width();
  var imageHeight = $(this).height();

  var parentHeight = $(this).parent().height();
  var parentWidth = $(this).parent().width();


  if (parentHeight > imageHeight){
    topOffset = (parentHeight/2 - imageHeight/2);
    $(this).css({'top': topOffset,'position':'relative'}); 
  }

  if (parentWidth > imageWidth){
    leftOffset = (parentWidth/2 - imageWidth/2);
    $(this).css({'left': leftOffset,'position':'relative'}); 
  }
});
于 2013-05-27T06:43:02.807 に答える