내가 제대로 귀하의 질문에 후 내가 사용하는 한 가지 방법은 서로의 상단에 position: absolute
와 div의 스택 다음 단지 요소가 현재 볼 수있는 표시됩니다 활성 클래스를 전환하는 것입니다이 클래스 것 이해한다면 z-index: 100
또는 1000 또는 원하는 모든 숫자가 있어야하지만 스택 된 요소 수보다 높아야합니다. HTML에서는 페이지를로드 한 후에 표시 될 요소에 활성 클래스를 추가합니다. 그런 다음 JS를 사용하여 활성 클래스의 요소를 변경합니다. JS에서 나는 사용
jQuery를 : https://jquery.com/download/
jQuery를 마우스 휠 플러그인 : https://github.com/jquery/jquery-mousewheel
HTML :
<div class="container">
<div class="vertically-stacked active"> //first visible bannner
<h1>Hello</h1>
</div>
<div class="vertically-stacked"> //visible only if class active is added
<h1>World</h1>
</div>
</div>
당신은 수직 스택 요소의 무한한 수를 가질 수있다.
CSS :
.container //container of vertically stacked elements
{
position: relative //or absolute but not static
}
.vertically-stacked
{
left: 0;
opacity: 0;
position: absolute;
top: 0;
transition: all .25s; //time which takes to switch the active element
-moz-transition: all .25s;
-o-transition: all .25s;
-webkit-transition: all .25s;
}
.vertically-stacked.active
{
opacity: 1;
z-index: 100;
}
JS :
$(document).on('mousewheel', function (e)
{
var $verticallyStacked = $('.vertically-stacked'),
oldActive = $verticallyStacked.index($('.vertically-stacked.active')),
newActive;
$verticallyStacked.eq(oldActive).removeClass('active');
if (e.deltaY < 0) //scroll down
{
newActive = oldActive + 1;
}
else //scroll up
{
newActive = oldActive - 1;
}
$verticallyStacked.eq(newActive).addClass('active');
});
당신이 시도 무엇의 MCV 예를 제공하십시오. 자세한 내용은 https://stackoverflow.com/help/mcve –
을 참조하십시오. 실제로 유효한 질문은 아니지만 비슷한 관심사가 있으며 지금까지 DevTips 채널의 시차 가이드 (https://www.youtube.com)를 발견했습니다./watch? v = STwoa-9jxi0 & list = PLqGj3iMvMa4IyCbhul-PdeiDqmh4ooJzk 유용한 라이브러리 : greensock 및 scrollmagic (Youtube ihatetomatoes) 및 https://www.youtube.com/watch?v에 따라 onscrool 대신 requestanimationframe을 사용하기위한 지침 = O39OEPC20GM <- 기타 최적화 기술. 행운을 빕니다! – sashaikevich