2017-06-06 36 views
0

私のサイズ変更機能が正しく動作していないことを知りたいのは、私が問題を起こしていることを意味します。それをサイズ変更するには、パディングが縮小します。jQuery UI:私のサイズ変更機能が正しく動作していない

注:高さではなく詰め物を増やしています。

$(function() { 
    $("#resizable").resizable({ 
     resize: function(event, ui) { 
     var originalHeight = ui.originalSize.height; 
     var newHeight = ui.size.height; 
     var pad = 5; 
     if (originalHeight < newHeight) { 
      pad = newHeight - originalHeight; 
     } 
     $(this).css({'padding': pad, 'height': 200, 'width': 400}); 
     } 
    }); 
}); 

My fiddle link

+0

に固執する場合、これが動作するかどうかを確認し、あなたが望むものに近いです/ 4/ –

+0

@JunaidAhmadそれはうまくいかなかったのは残念です。 2回目のサイズ変更では、すぐにパディングが減少します。問題は同じです。 – user7791702

+0

私は問題がパディングを変更することから来ると思います。私はそれを見て、ui.originalSize.heightはあなたのケースでは200パッディングに関係なく身長のプロパティを取得します。 – Botimoo

答えて

0

うん@Botimooが正しいようです。あなたはおそらく、パディング以外の何かを使ってポジショニングを考えるべきでしょう。 https://jsfiddle.net/6rh7emogを:しかし、このようなものは、おそらくあなたは、パディング

https://jsfiddle.net/6rh7emog/5/

<div id="resizable" class="ui-widget-content"> 
    <div id="wrapper"> 
    <h3 class="ui-widget-header">Resizable</h3> 
    </div> 

$(function() { 
    $("#resizable").resizable({ 
     aspectRatio: true, 
     resize: function(event, ui) { 
     var originalHeight = ui.originalSize.height; 
     var newHeight = ui.size.height; 
     $('#wrapper').css({ 
       'padding': newHeight - 200 
     }); 
     } 
    }); 
}); 
+0

もう1つのことdivのどの辺が増減したかを検出するにはどうすればいいですか?(divが北側か南側かをどのようにして検出できますか) – user7791702

+0

あなたの例の問題はまだパッディング0pxです。 – user7791702

+0

あなたはフィドルをチェックしましたか?視覚的な視点から見ると、パディングはあなたのフィドルと同じですが、違いはサイズ変更可能な要素の代わりにラッパーに適用して、サイズを変更したときにサイズが元のサイズに戻らないということです。 北側/南側の場合、私は唯一のサイズ変更可能な部分がdivの右側と下側であると思っていました。あなたがここで何を意味しているのか分かりません。その答えが必要な場合は、おそらく別の質問を開くべきでしょう。 – noveyak

関連する問題