Я думаю, вы можете искать что-то лучше, чем slideDown()
эффект. Это не совсем правильно, поскольку он просто увеличивает высоту объекта, а не заставляет его «прокручиваться» в поле зрения. Проверьте show()
эффекты из пользовательского интерфейса jQuery. http://jqueryui.com/demos/show/#option-effect Я думаю, что эффект «Слайд» был бы уместен, если бы вы дали ему возможность скользить по вертикали. Эффект «Drop» звучит так, как будто это будет правильно, но я получаю тот же эффект, что и «slide», когда пытаюсь это сделать. Возможно, в данный момент это ошибка в демо-сайте.
Вам также может быть интересно использовать метод animate()
для анимации свойства top
элемента, чтобы вы могли «прокрутить» его в поле зрения. Вам понадобится контейнер с overflow: hidden
и набором height
и width
с набором position: relative
. Затем внутренний контейнер с position: absolute
, который можно затем анимировать свойством top
с помощью jQuery.animate()
.
var $items = $("#scroller .inner *");
$('#scroller .inner').animate({
top: '-' + Math.round( $items.length * $items.eq(0).outerHeight(true) ) + 'px'
});
Обратите внимание, что если вы знаете, сколько пикселей будет иметь высоту для каждого внутреннего элемента, вы можете заменить $items.eq(0).outerHeight(true)
целочисленным значением известной высоты.