Я настроил страницу, которая будет пролистывать последовательность изображений, когда пользователь прокручивает их с помощью мыши или трекпада. Я использую jQuery для измерения расстояния от верхней части страницы - scrollTop() - чтобы затем изменить источник изображения для определенного идентификатора в DOM.
Это отлично работает в Firefox, Chrome, Safari, Opera, IE9, а также на iPad, iPhone и т. д. ОДНАКО, это не работает в IE8.
Это HTML:
<div id="flipping-container">
<img id="flipping-id" class="flippingTarget" src="imageOne.png" alt="imageone" />
</div>
Это JS:
$(document).scroll(function() {
var toTop = $(document).scrollTop();
if (toTop <= 340) {
$('.flippingTarget').attr('src','imageOne.png');
}
else if ((toTop <= 392) && (toTop > 341)){
$('.flippingTarget').attr('src','imageTwo.png');
}
else if ((toTop <= 445) && (toTop >= 393)){
$('.flippingTarget').attr('src','imageThree.png');
}
// AND SO ON
// ENDING WITH...
else {
$('.flipping-target').attr('src','image1.png');
};
});
Идентификатору div "flipping-container" присваивается значение CSS position:fixed; так его всегда видно.
Я пролистал сообщения StackOverflow и пока не смог найти работающее решение. Значение scrollTop() читается отлично, так как у меня есть события нажатия на кнопки, которые плавно прокручивают страницу до div и/или нескольких пикселей сверху. IE8 в порядке с этим, так что это не проблема html/body/document/window scrollTop().
Я заменил значение .attr() на .addClass(), чтобы посмотреть, будет ли оно подхвачено. Но это не в IE8. Таким образом, это может быть не связано напрямую с самим атрибутом src. Я дважды проверил имена и цели своих классов, и все они в порядке (также доказано, что другие браузеры работают по назначению).
Любые подсказки? Любая помощь приветствуется.