2015-02-05 2 views
0

jQuery 애니메이션을 사용하여 특정 이미지를 더 작게 만드는 동시에 다른 이미지를 더 크게 만듭니다. 문제는 크기를 작게하거나 크게 만드는 것 사이에서 슬라이드 쇼의 내용이 점프하고 있음을 알 수 있습니다. 컨테이너의 너비는 어떻게 될지 예측할 수 있습니다. 이것의 예가이 페이지에 있으므로 점프 방법을 볼 수 있습니다. http://goo.gl/tAVxgIjQuery 애니메이션 마진 움직임을 일으키는, 이것을 방지하는 방법?

jQuery 코드.

function rotate_slider() { 
    setTimeout(function() { 
     var bigger = $(window).width() * 0.36; 
     var size = $(window).width() * 0.32; 

     $('#slider_bar').animate({'marginLeft' : '-=' + size + 'px'}); 

     $('img[data-id="'+ num +'"]').css('width', size); 
     $('img[data-id="'+ num +'"]').css('margin-top', '15px'); 

     num++; 

     $('img[data-id="'+ num +'"]').css('margin-bottom', '30px'); 

     $('img[data-id="'+ num +'"]').animate(
      { 
       width: bigger 
      }, 
      { 
       duration: 200, 
       queue: false 
      } 
     ); 

     $('img[data-id="'+ num +'"]').animate(
      { 
       'marginBottom': '0px' 
      }, 
      { 
       duration: 1, 
       queue: false 
      } 
     ); 

     $('img[data-id="'+ num +'"]').css('margin-top', 0); 

     rotate_slider(); 
    }, 5000); 
} 

답변

1

해결책은 최소 높이를 으로 설정하는 것입니다.

#slider_bar{ 
    min-height: 370px; 
    ... 
} 

가장 큰 이미지의 높이를 알 수없는 또는 동적 인 경우에, 당신이 jQuery를

$('#slider_bar').css('min-height', minHeight); 
+0

그것은 응답을 사용하여 속성을 설정할 수 있습니다, 그래서 정말 최소 높이가가는 것을 예측할 수 없습니다 그래도. – HelpNeeder

+0

가능합니다. 창 크기가 조정되면 이미지의 최대 높이를 찾아 '# slider_bar' 요소에 적용하십시오. – RSquared

+0

Ah! 나 한동안 걸렸지 만 나는 그것을 이해한다고 생각한다. 따라서 페이지를 렌더링하거나 크기를 조정할 때마다 내 높이가 가장 높은 이미지의 높이를 확인한 다음 slider_bar의 높이를 적절하게 설정한다고 말하는 것입니다. 흠 ... 이해가가는 것 같아. 감사. – HelpNeeder