2012-03-24 17 views
4

要素を右側に浮動させると、jQuery UIのサイズ変更可能なウィジェットを使用して左端からサイズを変更できるようになり、変なことが起き始めます。サイズ変更可能なフローティングエレメントです。

私は一緒にこれを入れている:

http://jsfiddle.net/nicholasstephan/kCduV/2/

あなたが「サイドバー」をサイズ変更する場合は、あなたは私が話してすぐに何がわかります。

私はここで間違っていますか?

私は浮動小数点を保持することをお勧めします:右の左の列はそれ自体を処理します。

答えて

4

の作業のデモ:http://jsfiddle.net/kCduV/10/と別のソリューション:http://jsfiddle.net/kCduV/12/

のjQueryコード:

$(function() { 
    // $('.resizable').resizable({'handles': 'w'}); 
    $('.resizable').resizable({ 
     handles: 'e,w', 
     resize: function (event,ui) { 
      ui.position.left = ui.originalPosition.left; 
      ui.size.width = (ui.size.width 
       - ui.originalSize.width)*2 
       + ui.originalSize.width; 
     } 
    }); 
}); 

OR

$(function() { 
    // $('.resizable').resizable({'handles': 'w'}); 
    $('.resizable').resizable({ 
     handles:'e,w', 
     resize: function (event,ui) { 
      ui.position.left = ui.originalPosition.left; 
      ui.size.width += (ui.size.width - ui.originalSize.width); 
     } 
    }); 
}); 

説明:jQuery Resizable: doubling the resize width

+0

が理にかなっています。ありがとう!両方のあなたの手品はまだ二重変換のことを行うように見えます。右端はそのままですが、左端はマウスよりも動きます。 resizeイベントを使用してサイドバーを変更することは、イベントを使用して左の要素の幅を操作するよりも優れています。ありがとう! – nicholas

+0

心配する人はいません!嬉しいことに、あなたを助けました、あなたはui.positionで試して遊ぶことができます、歓声! –