Я знаю, что это просто для некоторых из вас, поэтому, пожалуйста, помогите мне! У меня есть 3 панели (div), которые я хочу сдвинуть один за другим, нажав кнопку. Раздвинуть одну панель легко, но как сместить несколько разделов по порядку? Спасибо.jQuery: раздвижные панели один за другим
ответ
Даже если мне очень нравится Kane's solution, вы можете найти его немного трудно понять, если вы не знаете, «анонимные функции» и особенности arguments.callee из JavaScript языка ,
После работы также:
$('#slideDiv').click(
function(e)
{
e.preventDefault();
var i = -1;
var divList = $(".slide");
var animationCallback = function()
{
if(++i < divList.length)
$(divList[i]).slideUp('slow', animationCallback);
//Replace 'slideUp' with any other animation of your choice. Make sure to pass 'animationCallback' as the last parameter.
//e.g. you can do
//$(divList[i]).animate({ left : '300px'}, 100, 'linear', animationCallback);
};
animationCallback();
}
);
EDIT:
Обновлено демонстрационной страницы. Добавлен комментарий о том, как использовать другую анимацию.
Вы, ребята, потрясающие. 30 минут и посмотрите, что уже сделано! Anyhoo, вы правы, я не понимаю анонимных функций и т. Д. Однако, глядя на ваш код, я думаю, что длина списка определяет, когда начать анимацию следующего div? Что делать, если я хотел бы сдвинуть divs по горизонтали, справа налево? – lnvrt
Длина списка определяет, нужно ли повторять очередную анимацию. Например. выше код будет работать, если вы добавите 4-й div с классом «слайд». Он будет анимировать 4-й дивизион, после того, как третий закончит анимацию. И если вам нужна другая анимация, замените метод «slideUp» соответствующим методом. Позвольте мне изменить код, чтобы показать вам, как это сделать. – SolutionYogi
Я добавил немного CSS к http://jsbin.com/adaca/edit // делает это немного яснее ... – lnvrt
Дайте 3 div классу «.slide_panel», это будет проходить через них и выполнять анимацию на них.
$("#button").click(function()
{
var i = -1;
var arr = $(".slide_panel");
(function(){
if(arr[++i])
$(arr[i]).animate({ left: "300px" }, 100, "linear", arguments.callee)
})();
});
+100, Отличное использование arguments.callee! Вот рабочая демонстрационная страница. http://jsbin.com/utebe Я думал, что это может помочь автору понять, как должны быть структурированы DIV. – SolutionYogi
Я отредактировал ваше сообщение, чтобы добавить ссылку на демонстрационную страницу, надеюсь, вы не против. – SolutionYogi
Я бы только написал условие if немного по-другому. if (++ i
- 1. JQuery .animate Раздвижные панели
- 2. Jquery анимировать один за другим?
- 3. JQuery fadeOut один за другим
- 4. jQuery fadeToggle один за другим
- 5. Раздвижные панели с JavaScript
- 6. Как сделать один за другим счет - JQuery
- 7. Как выполнить код jquery один за другим?
- 8. JQuery - Создание х элементов, один за другим
- 9. Добавить твиты один за другим JQuery
- 10. Показать элементы массива один за другим - JQuery
- 11. jQuery/JS число оборотов один за другим
- 12. Выполнение функций один за другим JQUERY
- 13. jQuery FadeIn элемент один за другим ajax
- 14. JQuery loop by li один за другим
- 15. JQuery - Показать divs один за другим
- 16. jQuery удалять элементы один за другим
- 17. JQuery: Fade несколько элементов один за другим
- 18. jQuery Chaining анимация один за другим
- 19. jQuery сдвинуть два элемента - один за другим
- 20. Как выполнить функцию jquery один за другим
- 21. jQuery: Запуск событий .click(), один за другим
- 22. jquery анимировать один элемент за другим
- 23. Jquery отображают изображения один за другим
- 24. animateWithDuration один за другим
- 25. Один за другим
- 26. Запустите один ajax за другим
- 27. Как запускать панели один за другим в одном кадре
- 28. LinkedList Читать один за другим
- 29. ListView scroll - один за другим
- 30. Android Animation один за другим
Нам действительно нужно увидеть какой-то код, который даст вам рабочий пример. – Sneakyness