2011-08-12 7 views
1

컨테이너에 3 개의 열이 있다고 가정 해 봅시다. 요소의 너비를 최소화하면 인접 요소가 너비를 최대화하여 영역을 덮어야합니다. my live example on jsfiddle 내가 원하는 무엇 : 모든 요소의 크기 조정 (최소화하거나 최대화) 다음 인접한 요소가 자동
2.container 크기를 고정이하여 치수를
3 요소를 변경해야하지 않아야 폭을 조정해야
1. 경우 컨테이너 내부에 자동으로 맞춰 짐
핸들러를 사용할 수있는 방법이 있습니다. 그것은 #의에서 element1, 2 패딩, 여백 및 테두리를 제거, 레이아웃 ui-resizable-handle자동 크기 조정 방법

<div id = "container"> 
     <div id = "element1"> </div> 
     <div id = "element2"> </div> 
     <div id = "element3"> </div> 
    </div> 


    #element1 {width:30%; height:100;} 
    #element2 {width:40%; height:100;} 
    #element3 {width:30%; height:100;} 

답변

1

내가 제안의 jQuery에는

3. 어쩌면이 도움이됩니다 사용합니다.

$(function() { 

    var startwidth = 0; 
    var containerwidth = $('#container').width(); 

    $('.resize').resizable({ 
     containment:'#container', 
     start: function(){ 
      startwidth = $(this).width()/containerwidth; 
     }, 
     stop: function(event, ui){ 
      var nsiblings = $(this).siblings().size(); 
      var delta = ($(this).width()/containerwidth - startwidth); 
      $(this).siblings().each(function(){ 
       var siblingswidth = ($(this).width()/containerwidth - delta/nsiblings) * containerwidth; 
       $(this).width(siblingswidth); 
      }); 
      var totalwidth = 0; 
      $('#container').children().each(function(){ 
       totalwidth = totalwidth + $(this).width(); 
      }); 
      if(totalwidth > containerwidth){ 
       $(this).width($(this).width() - (totalwidth - containerwidth)); 
      } 
     } 
    }); 
}); 
+0

감사합니다 raymond, 나는 방금 나 자신을 시도하고 해결하려고했지만 나에게 더 나은 아이디어를주었습니다. 내 sol'n보세요 http://jsfiddle.net/pankajkits/SrJfu/44/ –

+0

죄송합니다, 나는 당신의 질문을 신중하게 읽지 않았다. 당신은 단지 인접한 요소의 크기를 조정하고 싶습니다. 나는 당신의 [바이올린] (http://jsfiddle.net/raymondralibi/X2bXY/1/)을 업데이트했습니다. – raymondralibi

+0

정말 고마워요. 너 나 부탁 좀 들어 줄래? 당신은 문제를하지만 문제는 내가 그것을 다음 한 div 밖으로 이동 (오버플로) 그것의 부모가 너무 크기를 조정할 때 점점 내가 어떻게이 문제를 해결할 수 있습니다. 다시 감사합니다 ... –