inflearn logo
강의

Course

Instructor

Interactive Web Development Know-How in a Few Lines [Beginner's Edition]

질문 있습니다~!

441

kkangfly1

1 asked

0

안녕하세요!

수업 너무 잘들었습니다~

코딩일레븐님께 배운 코드를 사용하려고 하는데 window.onload가 중복으로 사용하면 최하단에 있는것만 실행이 되더라고요 ㅠ 구글링 해도 제가 js 이해가 짧아서 안되네요;;; 해당 강의에서 배운 스크롤바에 앞선 강의에서 배운 커서와 버튼 효과도 같이 주려면 어떻게 해야하나요? 바쁘시겠지만 문의 드리겠습니다~항상 감사합니다!

onload 중복사용 인터랙티브-웹 javascript 도와주세요

Answer 5

1

kkangfly1

정말 감사합니다!! 감사합니다~오늘 하루도 즐거운 하루 되세욥!!!!! 

0

coding11

넵 즐거운 하루보내세요

0

coding11

let btn;

let cursorItem;

let circle;

let x=0, y = 0;

let mx=0, my = 0;

let scrollTop = 0;

let bar;



window.onload = function(){

  

    btn = document.querySelector(".btn");

    cursorItem = document.querySelector(".cursorItem");

    circle = cursorItem.querySelector(".circle");    


    btn.addEventListener("mouseover", function(e){

        circle.style.transform = "scale(.3)";

    })

    btn.addEventListener("mouseout", function(e){

        circle.style.transform = "scale(1)";

    })


    window.addEventListener("mousemove", function(e){

        x = e.clientX;

        y = e.clientY;
        

    });
    
    loop();


     bar = document.getElementsByClassName("bar")[0];

     window.addEventListener("scroll", function(e){

             scrollTop = document.documentElement.scrollTop;

            let per = Math.round((scrollTop / (document.documentElement.scrollHeight - window.innerHeight)) * 100);

         bar.style.height = per + "%";

    }, false)



}





function loop(){

    mx += (x - mx ) * .09;

    my += (y - my ) * .09; 

    cursorItem.style.transform = "translate("+ mx +"px, "+ my + "px )";



    requestAnimationFrame(loop);

}

0

coding11

작동 확인은 안 해봤습니다만, 이런 방식으로 하시면 됩니다. 스크립트를 나누지 않으셔도 됩니다.

0

kkangfly1

진짜 죄송한데요 제가 이렇게 하기처럼 코드를 짰는데요 혹시 봐주실 수 있을까요?

let btn;
let cursorItem;
let circle;
let x=0y = 0;
let mx=0my = 0;

let scrollTop = 0;
let bar;


window.onload = function(){
    function first(){
    btn = document.querySelector(".btn");
    cursorItem = document.querySelector(".cursorItem");
    circle = cursorItem.querySelector(".circle");    

   
    btn.addEventListener("mouseover"function(e){
        circle.style.transform = "scale(.3)";
    })
    btn.addEventListener("mouseout"function(e){
        circle.style.transform = "scale(1)";
    })

    window.addEventListener("mousemove"function(e){
        x = e.clientX;
        y = e.clientY;
        
    });
    
    loop();
}

    function second() {
        bar = document.getElementsByClassName("bar")[0];
       
        window.addEventListener("scroll"function(e){
        scrollTop = document.documentElement.scrollTop;
        let per = Math.round((scrollTop / (document.documentElement.scrollHeight - window.innerHeight)) * 100);
       
         bar.style.height = per + "%";

    }, false)
}
}

function loop(){
    mx += (x - mx ) * .09;
    my += (y - my ) * .09
    cursorItem.style.transform = "translate("mx +"px, "my + "px )";

    requestAnimationFrame(loop);
}

0

kkangfly1

빠른 답변 감사합니다~! 

근데 진짜 죄송한데요 이해가 안되요 ㅠ 

이게 loop문은 하기에 안들거야 하는건가요??

window.onload = function(){

버튼 이벤트

스크롤이벤트 등등등

전부 여기에 넣으면 됩니다.

}

0

coding11

아 맞습니다. onload 중복 사용이 안 됩니다. 이벤트를 거는 부분은 전부 onload 안에 넣으시면 됩니다. 페이지가 로드가 되어야 버튼 이벤트 같은 것을 줄 수 있거든요. 각 강의에서 onload 안에 들어 있는 스크립트들을 모아 놓고 사용해도 됩니다. onload 밖에 있는 함수들도 마찮가지고요. 

let 변수 1;

let 변수2;

window.onload = function(){

버튼 이벤트

스크롤이벤트 등등등

전부 여기에 넣으면 됩니다.

}

function 함수1(){

}

function 함수2(){

}

function 함수3(){

}

혹시 이해가 안되시면 댓글 달아주세요.

mouse position interpolation과 transition linear interpolation의 차이

0

77

1

mousemove 시 따라 다니는 커서 이미지 wheel 할 경우

0

183

2

부드러운 움직임 구현1 강의 부분 질문있습니다.

0

150

2

go live 실시간 크롬

0

325

1

javascript 도움말 vsCode 확장팩 문의!

0

366

1

블로그 상단 페럴렉스 효과 구현 질문 있습니다!

0

359

1

마우스 인터렉티브 변형 질문

0

341

1

안녕하세요. 수업 잘 듣고 있습니다. 포트폴리오 관련 질문도 가능할까요?

0

399

1

나비가 버튼위로올라가면 버튼의 hover기능이 멈춰버려요

0

347

1

perspective에 대해서

0

287

1

CSS에서 궁금했던 부분 -실전 페럴렉스 강의 부분

0

483

1

requestAnimationFrame 질문

0

365

1

리뉴얼 이전 강의 파일

0

444

1

코드가 미리보기로 보여주는 확장프로그램이 뭔가요?

0

749

1

수업 파일 부탁드립니다~

0

326

1

배경질문

0

356

1

textWrap의 position을 relative로 주는 것에 대해 질문있습니다!

0

292

1

safari에서 position fixed가 잘 동작하지 않습니다

0

984

1

addEventListener후에 익명함수 실행할때 뒤에 false는 어떤 역할을 하는건가요?

0

558

1

스피드 변수로 scrollTop을 두는 이유가 무엇인가요?

0

366

1

완성파일 어디서 받아볼 수 있나요 ?

0

436

1

완성 파일 요청 드립니다.

0

306

1

사진들이 상단 nav바를 침범하는데 침범 못하게 어떻게해야할까요?

0

156

1

리액트로 하면 어떻게 해야할지 작성해주실수있나요?

0

370

1