У меня проблема с двумя отдельными функциями, которые я пытаюсь использовать. Во-первых, я использую некоторые jQuery, чтобы контент исчезал при входе в окно браузера, а во-вторых, я использую мгновенную прокрутку в CSS.
У меня работают обе эти функции самостоятельно, однако, когда я пытаюсь запустить оба вместе, кажется, что момент прокрутки разрушает затухание. Я думаю, что это как-то связано с переполнением, но я уже немного не в себе с jQuery вот, так не знаете, как (если?) обойти эту проблему ??
Вот мой текущий код ...
$(window).on("load",function() {
$(window).scroll(function() {
var windowBottom = $(this).scrollTop() + $(this).innerHeight();
$(".fade").each(function() {
/* Check the location of each desired element */
var objectBottom = $(this).offset().top + $(this).outerHeight();
/* If the element is completely within bounds of the window, fade it in */
if (objectBottom < windowBottom) { //object comes into view (scrolling down)
if ($(this).css("opacity")==0) {$(this).fadeTo(500,1);}
} else { //object goes out of view (scrolling up)
if ($(this).css("opacity")==1) {$(this).fadeTo(500,0);}
}
});
}).scroll(); //invoke scroll-handler on page-load
});
body {
margin: 0;
}
.snap-scroll-wrapper {
width: 100vw;
height: 100vh;
overflow: auto;
position: relative;
-webkit-overflow-scrolling: touch;
scroll-snap-type: y mandatory;
}
.snap {
width: 100%;
height: 100%;
scroll-snap-stop: normal;
scroll-snap-align: start;
position: relative;
color: white;
transition: 300ms all ease-in-out;
}
.snap:nth-child(1) {background: lightpink;}.snap:nth-child(2) {background:lightgreen;}.snap:nth-child(3) {background: lightblue;}.snap:nth-child(4) {background: lightyellow;}
.fade {
opacity: 1;
transition: 300ms all ease-in-out;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="snap-scroll-wrapper">
<div class="snap">
<code class="fade">Some text here</code>
</div>
<div class="snap">
<code class="fade">Some text here</code>
</div>
<div class="snap">
<code class="fade">Some text here</code>
</div>
<div class="snap">
<code class="fade">Some text here</code>
</div>
</div>
Я искал других людей с такой же проблемой, как в Stackoverflow, так и в других местах, но не могу найти никого с точным (или даже довольно близко) проблема, поэтому решил опубликовать свой собственный вопрос.
Любое понимание, которое может предложить любой, будет высоко ценится!