2013-11-08 2 views
0

Я успешно криничила div снизу вверх на окна нагрузки, как лань:Оживляющий элемент с JQuery

<script> 
     $(function(){ 
      $('#wrapper').animate({'margin-top': '20px'}, 1000); 
     }); 
</script> 

#wrapper { 
    float: none; 
    margin: 600px auto; 
    max-width: 850px; 
    min-width: 200px; 
    padding: 0 2%; 
} 

Однако мне теперь нужно анимировать DIV справа налево вместо. Я попытался первоначальный CSS, как:

margin-top: 20px; 
margin-right: auto; 
margin-left: 100%; 

, а затем:

<script> 
     $(function(){ 
      $('#wrapper').animate({'margin-left': 'auto'}, 1000); 
     }); 
</script> 

auto не кажется, допустимым значением, но мне нужно иметь Div остановку в центре, так что я пытался получив ширину окна браузера, а затем разделив его на две части и вычитая половину размера обертки, но я не смог получить ширину обертки, так как я использую максимальную ширину вместо жесткой кодировки. Мне нужно, чтобы сайт был отзывчивым.

Как я мог выполнить анимацию слева направо, имеющую остановку div, когда она центрирована?

+0

вы можете использовать '$ ('# обертку'). Ширина()', чтобы получить его ширину _actual_ в пикселях. Это должно позволить вычислить центральное положение. –

+0

Я пробовал это, но как я мог вычесть значение с 50%? – user2300867

+1

Попробуйте http://jsfiddle.net/arunpjohny/LUgra/3/ –

ответ

0

Попробуйте с

$("#wrapper").animate({"marginLeft":"50%"}, 1000); 
+0

Я бы получил левую границу div в центре окна. – user2300867

+1

Я не понимаю? :) – emha

+0

Начальная маржа слева равна 100%, а затем она изменится на 50%, что означает, что div остановится, как только он достигнет центра окна, но не будет центрирован, что я пытаюсь выполнить. – user2300867

0
$('#wrapper').animate({right: (parseInt($(this).css('right'))-200)+"px"}, 1000); 
Смежные вопросы