소개
게시글
질문&답변
playanimation 관련 질문드립니다.
감사합니다. 꼼꼼하게 작성한다고 했는데 그 부분을 놓쳤네요.. 잘 해결되어서 스크롤 애니메이션쪽은 마무리가 되었습니다. 헌데 이번엔 동영상 인터렉션을 진행 중인데 아임웹이 FTP지원을 하지 않기에 게시판쪽에 이미지를 올리면 서버에 저장되고 이미지 주소를 알려줍니다. 예를 들어 제 이미지파일 이름이 ABC001에서ABC900까지 900장이면 이면 링크 주소는 (사진) (사진) (사진) 이처럼 랜덤으로 주소가 저장되는 것 같아서 강의내용처럼 순차적으로 불러오는게 어려울 듯 합니다. 해결방안은 아무래도 아임웹 쪽과 문의를 해봐야 할 것 같은데 이 부분에 대해서 의견이 있으신지 문의드립니다. 감사합니다.
- 0
- 6
- 571
질문&답변
playanimation 관련 질문드립니다.
늦은시간인데도 친철하게 답장 주셔서 감사합니다. 말씀하신 것처럼 switch문 위에 console.log를 실행해봤지만 반응이 없는 것 같아서요. 혹시 몰라서 현재 작성중인 전체 문서 첨부드립니다. 스크롤 애니메이션 구현전까지는 강의내용과 같이 설정이 된 것을 확인했는데요. (씬별로 sticky 및 normal 태그들이 잘 나타나고, 스크롤할때마다 show-scene-0,1,2,3도 잘 바뀌고 , 새로고침할때도 씬별로 show-scene-0,1,2,3이 잘 설정되는 것까지 확인했습니다.) 전체문서의 메뉴 및 footer가 이미 아임웹에서 설정되어있고 그 중간에 아래 문서와 같이 코딩 위젯을 추가하는거라 강사님 강의내용 중 제외시킨 것이 몇가지 있습니다. 실례가 안된다면 어떻게 해결해야 되는지 알려주시면 감사하겠습니다. .body { overflow-x: hidden; color: rgb(29, 29, 31); letter-spacing: -0.05em; background: white; } .p { line-height :1.6; } .scroll-section { border: 1px solid red ; padding-top : 50vh; } #scroll-section-0 h1 { font-size: 4rem; text-align: center; } .main-message { display: flex; align-items: center; justify-content: center; margin: 5px 0; height: 3em; font-size: 2.5rem; } .main-message p { font-weight: bold; text-align: center; line-height: 1.2; } .main-message small { display: block; margin-bottom: 0.5em; font-size: 1.2rem; } #scroll-section-2 .main-message { font-size: 3.5rem; } .description { max-width: 1000px; padding: 0 1rem; margin: 0 auto; font-size: 1.2rem; color: #888; } .description strong { float: left; margin-right: 0.2em; font-size: 3rem; color: rgb(29, 29, 31); } .desc-message { width: 50%; font-weight: bold; } .pin { width: 1px; height: 100px; background: rgb(29, 29, 31); } .mid-message { max-width: 1000px; margin: 0 auto; padding: 0 1rem; font-size: 2rem; color: #888; } .mid-message strong { color: rgb(29, 29, 31); } .canvas-caption { max-width: 1000px; margin: 0 auto; padding: 0 1rem; font-size: 1.2rem; color: #888; } .sticky-elem { display: none; position: fixed; top: 0; left: 0; width: 100%; } @media (min-width: 1024px) { #scroll-section-0 h1 { font-size: 9vw; } .main-message { font-size: 4vw; } .description { padding: 0; font-size: 2rem; } .description strong { font-size: 6rem; } #scroll-section-2 .main-message { font-size: 6vw; } .main-message small { font-size: 1.5vw; } .desc-message { width: 20%; } .mid-message { font-size: 4vw; } .canvas-caption { font-size: 2rem; } } #show-scene-0 #scroll-section-0 .sticky-elem, #show-scene-1 #scroll-section-1 .sticky-elem, #show-scene-2 #scroll-section-2 .sticky-elem, #show-scene-3 #scroll-section-3 .sticky-elem { display: block; } TheBlacks 더욱 강력한 제품 주변 맛을 느끼게 해주는주변 맛 허용 모드 온종일 편안한맞춤형 손잡이 새롭게 입가를찾아온 매혹 보통 스크롤 영역 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae est ipsa minima, eligendi error cum vel dolorum pariatur officia facilis ipsam voluptatibus ad quasi porro quod quisquam quidem tempora accusantium accusamus, quaerat aliquam velit exercitationem incidunt? Id vitae quisquam saepe quasi accusantium tempore enim! Aperiam dolorum a vero repellat dolor, inventore ab odit totam molestias expedita? Enim quia dolor maiores veniam ea! Quam illo, est incidunt ipsa reiciendis modi quisquam reprehenderit fuga velit dolorem odit sequi autem blanditiis, ullam commodi quibusdam. Accusamus repellat aperiam quis neque laudantium, dignissimos hic nisi magnam praesentium enim beatae sint architecto cum numquam inventore rerum animi sed nostrum quae delectus, voluptas molestiae placeat aliquid! Vel quaerat error officiis magnam dolorum iste aspernatur at est! Quo, consequuntur? Reiciendis, dolor. Quo at cupiditate in iure obcaecati voluptatum vel ea! Ab vel harum facere hic fuga ducimus sapiente dolore dolorem, nobis sint perferendis cumque esse! Omnis fugiat sint error laborum eveniet labore nam ducimus quisquam in repudiandae impedit excepturi dignissimos tenetur libero placeat rerum maxime tempore, aut nihil. Qui, quam? Voluptate fuga possimus itaque quas nesciunt iste, facilis mollitia illo qui placeat temporibus inventore obcaecati. Recusandae, sequi dignissimos in natus eum maiores dolorem, deleniti nobis accusantium, aspernatur beatae. 편안한 촉감 입과 하나 되다 편안한 목넘김을 완성하는 디테일한 여러 구성 요소들, 우리는 이를 하나하나 새롭게 살피고 재구성하는 과정을 거쳐 새로운 수준의 머그, AirMug Pro를 만들었습니다. 입에 뭔가 댔다는 감각은 어느새 사라지고 오롯이 당신과 음료만 남게 되죠. 디자인 앤 퀄리티 오브 스웨덴,메이드 인 차이나 Retina 머그 아이디어를 광활하게 펼칠 아름답고 부드러운 음료 공간. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Eveniet at fuga quae perspiciatis veniam impedit et, ratione est optio porro. Incidunt aperiam nemo voluptas odit quisquam harum in mollitia. Incidunt minima iusto in corporis, dolores velit. Autem, sit dolorum inventore a rerum distinctio vero illo magni possimus temporibus dolores neque adipisci, repudiandae repellat. Ducimus accusamus similique quas earum laborum. Autem tempora repellendus asperiores illum ex! Velit ea corporis odit? Ea, incidunt delectus. Sapiente rerum neque error deleniti quis, et, quibusdam, est autem voluptate rem voluptas. Ratione soluta similique harum nihil vel. Quas inventore perferendis iusto explicabo animi eos ratione obcaecati. (() => { let yOffset = 0; let prevScrollHeight = 0; let currentScene = 0; const sceneInfo = [ { // 0 type: 'sticky', heightNum: 5, // 브라우저 높이의 5배로 scrollHeight 세팅 scrollHeight: 0, objs: { container: document.querySelector('#scroll-section-0'), messageA: document.querySelector('#scroll-section-0 .main-message.a'), messageB: document.querySelector('#scroll-section-0 .main-message.b'), messageC: document.querySelector('#scroll-section-0 .main-message.c'), messageD: document.querySelector('#scroll-section-0 .main-message.d'), }, values: { messageA_opacity: [0, 1] } }, { // 1 type: 'normal', heightNum: 5, scrollHeight: 0, objs: { container: document.querySelector('#scroll-section-1') } }, { // 2 type: 'sticky', heightNum: 5, scrollHeight: 0, objs: { container: document.querySelector('#scroll-section-2') }, values: { } }, { // 3 type: 'sticky', heightNum: 5, scrollHeight: 0, objs: { container: document.querySelector('#scroll-section-3') }, values: { } } ]; function setLayout() { for(let i = 0; i = yOffset) { currentScene = i; break; } } document.body.setAttribute('id',`show-scene-${currentScene}`); } function calcValues (values, currentYOffset) { let rv; let scrollRatio = currentYOffset / sceneInfo[currentScene].scrollHeight; rv= parseInt(scrollRatio * 300); return rv; } function scrollLoop() { prevScrollHeight = 0; for (let i = 0; i prevScrollHeight + sceneInfo[currentScene].scrollHeight) { currentScene++; // document.body.setAttribute('id',`show-scene-${currentScene}`); } if (yOffset { yOffset = window.pageYOffset; scrollLoop(); }); window.addEventListener('load', setLayout); window.addEventListener('resize', setLayout); } )();
- 0
- 6
- 571