ОБНОВЛЕНИЕ: воссоздал мою проблему в jsFiddle: http://jsfiddle.net/leongaban/3v8vW/3/
У меня есть 2 вкладки, нажатие на короткую должно сократить высоту фона формы, а нажатие на высокую должно увеличить высоту. Однако не должно быть никакой резкой/прерывистой анимации.
Когда вы нажимаете на вкладку, другая вкладка скрывается.
Codepen: http://codepen.io/leongaban/pen/wipba сильный>
Если вы нажмете на вход, вы увидите анимацию. Раздел входа в систему имеет высоту 290 пикселей, а регистр — 410 пикселей.
Я получил код анимации из этого простого примера здесь.
То, что я пытаюсь сделать, это просто анимировать высоту, расширяющуюся вниз или уменьшающуюся вверх, положение и ширина должны оставаться прежними. Мне пришлось установить top
и width
, потому что в противном случае мой .form-background
div сделал бы какое-то сумасшедшее изменение размера и не закончился бы в правильной позиции после анимации.
Вы знаете, что здесь происходит? И как бы вы его взломали? :)
JQuery
// tabs
$('#login-form #tab-register').click(function() {
$('#login-form').fadeToggle();
$(".form-background").animate(
{
"top": "-342px",
"width": "400px",
"height": "410px"
},
"slow", function(){
$('#register-form').fadeToggle();
});
});
$('#register-form #tab-login').click(function() {
$('#register-form').fadeToggle();
$(".form-background").animate(
{
"top": "-214px",
"width": "400px",
"height": "290px"
},
"slow", function(){
$('#login-form').fadeToggle();
});
});
CSS
.container .login-container .login-box .form-background {
position: relative;
top: -342px;
height: 410px;
background: white;
-webkit-box-shadow: 0px 5px 15px rgba(50, 50, 50, 0.2);
-moz-box-shadow: 0px 5px 15px rgba(50, 50, 50, 0.2);
box-shadow: 0px 5px 15px rgba(50, 50, 50, 0.2);
z-index: -1;
}
animate({"height":"auto"})
- если вы не позиционируете все абсолютно. - person Dom   schedule 08.06.2013