次のフォト アルバムの例を考えてみましょう。
アルバムの最初のページと最後のページは、アルバムの見開きの半分のサイズです。比較のためにattr('data-width')
とを設定しましたattr('data-width_correct')
例 -- checkImageDimesions()
//Define if first or last page
if($(this).is(':first-child') || $(this).is(':last-child'))
{
$(this).find('img').attr('data-height_correct' , maxHeight);
$(this).find('img').attr('data-width_correct' , maxWidth / 2);
} else{
$(this).find('img').attr('data-height_correct' , maxHeight);
$(this).find('img').attr('data-width_correct' , maxWidth);
}
これは期待どおりに機能し、正しい値でデータを更新します。次のステップはwidth > width_correct
、サイズ変更のクラスを追加する場合です。
if($(this).find('img').data('width') > $(this).find('img').data('width_correct'))
{
$(this).addClass('resize');
}
この関数の呼び出しは、jQuery .sortable() の成功時に発生します。最初のソートではこれは正しく機能しますが、その後のソートでは、サイズが正しくない最初のイメージが保持され、 .resize
false を返す新しいイメージはwidth > width_correct
割り当てられません。resize
ソート可能
$("#sortable").sortable(
{
success: function(){checkImageDimension()}
}