Я пытался сделать домашнюю страницу веб-сайта, которая будет повторяться бесконечно, когда пользователь прокручивает страницу вниз, удаляя div, содержащий домашнюю страницу, и многократно заменяя его под вторым div домашней страницы.
Сценарий запускается успешно в chrome и firefox без изъянов. В браузере Safari браузер, похоже, получает доступ к коду (я проверял с помощью console.log () в операторах if) и даже выполнял его, но почему-то не показывает лишних элементов div для создания повторяющейся бесконечной прокрутки?
Это проблема с тем, как браузер интерпретирует x.removeChild()
и x.appendChild()
? Любые предложения приветствуются!
Вот фрагмент моего кода, который обрабатывает бесконечную домашнюю страницу:
<script type="text/javascript">
var isInViewport = function (elem) //CHECKS WHETHER OR NOT AN ELEMENT IS IN THE VIEWPORT
{
var bounding = elem.getBoundingClientRect();
return (bounding.bottom <= (window.innerHeight/1000 || document.documentElement.clientHeight/1000));
};
var parent = document.getElementById("header1");
var child_1 = document.getElementById("div1"); //FIRST HOMEPAGE
var child_2 = document.getElementById("div2"); //SECOND HOMEPAGE
window.addEventListener('scroll', function (event)
//ON SCROLL, REMOVE ELEMENTS THAT ARE OUTOF THE VIEWPORT AND REPLACE
//THEM ON THE BOTTOM OF THE PAGE
{
if (isInViewport(child_1))
{
console.log("CHILD_1: OUTOFVIEW");
parent.removeChild(child_1);
parent.appendChild(child_1);
//parent.appendChild(clone_1);
}
else if (isInViewport(child_2))
{
console.log("CHILD_2: OUTOFVIEW")
parent.removeChild(child_2);
parent.appendChild(child_2);
}
}, false);
</script>