Я загружал свои сортируемые дивы VIA Ajax в обертку с автоматической высотой.
Вместо того, чтобы пытаться связать события с сортировкой, я просто установил высоту автоматически при загрузке и изменении списка, а затем установил статическую высоту.
Решение Вита схоже, но я не хотел добавлять ненужные накладные расходы, выполняя это на каждом mousedown
и mouseup
событии. Вместо этого я просто делаю это, когда список изменяется при загрузке или когда добавляются новые элементы (я использую анимацию slideDown
и просто устанавливаю статическую высоту, когда она завершена).
$("#wrapper").load("list.php",function() {
$("#wrapper").css({ "height":"auto" });
$("#wrapper").css({ "height": $("#wrapper").height() });
}
Другие решения не работали для меня, когда я перезагружал данные, поскольку я сделал их сортируемыми только один раз во время загрузки страницы.
Мой список / div изменяется с раскрывающимся списком, поэтому я могу выбирать разные списки, и моя оболочка изменяет размеры соответственно без раздражающего перехода.
Если вам нужно добавить элементы или перезагрузить что-либо, просто бросьте эти две строки кода в функцию и вызовите функцию.
Надеюсь, это кому-нибудь поможет!