Получение информации о размере до окончания анимации шоу - PullRequest
2 голосов
/ 15 февраля 2011

При использовании jQuery.show (), есть ли способ получить информацию о том, насколько большим будет показанный элемент до анимации?

* edit - думал, что я приведу примергде я планирую использовать это как любой обходной путь, не выполняющий напрямую то, что я просил, все равно было бы очень полезно:

Содержимое внутри лайтбокса расширяется с помощью .show (), но размер и расположение лайтбоксадождаться окончания анимации, прежде чем измерять новые размеры и корректировать.В результате получается две анимации, следующие друг за другом, когда мне нужно, чтобы две анимации работали одновременно

Ответы [ 3 ]

1 голос
/ 15 февраля 2011

$ ("некоторый элемент"). Css ({display: "block", visibility: "hidden", position: "absolute"});

Заставит элемент принять свой естественный размер, нооставаться скрытымЗатем вы можете измерить размеры элемента в безопасности, используя .height () и .width ()

Надеюсь, это поможет.

0 голосов
/ 15 февраля 2011

У вас может быть следующее:

$(document).ready(function() {
   var beforeHeight = $('#element').height();
   $('#element').animate({
      height:350
   },250, function() {
      var afterHeight = $('#element').height();
   });

   alert("Before: "+beforeHeight+" \r\n After: " + afterHeight);
});

Просто перечитайте свой вопрос - если вы хотите 2 анимации, одну за другой:

$('#element').animate({
    //animate stuff
},250,function() {
   $('#element').animate({
      //animate more stuff
   },250)
});
0 голосов
/ 15 февраля 2011

Если я правильно понял вопрос, ниже должен это сделать.

var height = $("#foo").height();
...