Я ищу, чтобы использовать javascript для анимации содержимого вложенного DIV в родительском слайде, когда родительский слайд перемещается в область просмотра.Как анимировать вложенный контент, когда анимированный родительский слайд перемещается в окно просмотра, а не с помощью прокрутки
В настоящее время содержимое во вложенном DIV только анимируется, как только команда прокрутки также запускается после перемещения родительского слайда на экран. Я считаю, что это связано с тем, что движение слайдов анимировано и не контролируется прокруткой.
Тот же вопрос в игре в этом JSFiddle демо я создал, чтобы изучить этот вопрос:
(Анимационная движение ползуна справа налево в этой демонстрации была создана для проверки эта проблема, чтобы воспроизвести движение слайда без прокрутки, на самом деле это не особенность разработки).
Мой вопрос в том, как я могу настроить сценарий анимации для каждого вложенного DIV, когда каждый элемент слайда перемещается в область просмотра, не требуя функции прокрутки?
Спасибо за любую помощь. Вот сценарий, который я использую для управления непрозрачностью и другими стилями CSS.
$(document).ready(function() {
/* Every time the window is scrolled ... */
$(window).scroll(function() {
/* Reveal hidden_header delayed */
$('.hidden_header').each(function(i) {
var center_of_object = $(this).offset().left + $(this).outerWidth();
var center_of_window = $(window).scrollLeft() + $(window).width();
/* If the object is completely visible in the window, fade it it */
if (center_of_window > center_of_object) {
$(this).animate({
'opacity': '1'
}, 500);
$(this).animate({
'right': '0'
}, 1500);
}
});
/* Reveal hidden_content delayed */
$('.hidden_content').each(function(i) {
var center_of_object = $(this).offset().left + $(this).outerWidth();
var center_of_window = $(window).scrollLeft() + $(window).width();
/* If the object is completely visible in the window, fade it it */
if (center_of_window > center_of_object) {
$(this).animate({
'opacity': '1'
}, 3000);
$(this).animate({
'bottom': '0'
}, 3500);
}
});
/* Reveal button delayed */
$('.button').each(function(i) {
var center_of_object = $(this).offset().left + $(this).outerWidth();
var center_of_window = $(window).scrollLeft() + $(window).width();
/* If the object is completely visible in the window, fade it it */
if (center_of_window > center_of_object) {
$(this).animate({
'opacity': '1'
}, 5000);
}
});
});
});
Конечно, это самое элегантное решение! Хорошо заметили и благодарю вас за помощь! : D – Mook81