질문있습니다
209
작성한 질문수 7
let cursor_item;
let x = 0;
let y = 0;
let mx = 0;
let my = 0;
let speed = 0.09;
window.onload = function() {
let h1 = document.getElementsByTagName("h1")[0];
cursor_item = document.getElementsByClassName("cursor_item")[0]
window.addEventListener("click", mouseFunc, false);
function mouseFunc(e) {
x = e.clientX;
y = e.clientY;
h1.innerHTML = "x: "+ x + "y :" + y;
}
loop();
}
function loop() {
console.log(x);
mx += (x - mx) * speed;
my += (y - my) * speed;
console.log(x, mx)
cursor_item.style.transform = "translate("+ mx + "px," + my+ "px)";
window.requestAnimationFrame(loop);
}
window.onload - function () {
let h1
cursor_item
}
왜 let 변수 h1은 가만히 냅두고 cursor_item은
onload 바깥쪽으로 재 할당해야 출력이 되는건가요?
답변 1
0
h1의 경우에는 onload 안에서만 사용을 해서 지역변수로 사용한 겁니다.
밖으로 빼서 전역변수로 사용해도 문제 없습니다.
만약 onload 밖에서도 사용을 하는 cursor_item 을 h1과 같이 지역변수로 지정을 하면
에러가 나게됩니다. x,y, speed 등이 전부 전역변수로 되어 있는 이유도 같습니다.
0
전역변수는 어디서나 접근이 가능하고, 지역변수는 어느 하나의 함수 내에서만 사용가능한 변수입니다. 예를 들어
function loop(){
let a = 0;
console.log(a);
}
console.log(a);
이라면 a 는 loop() 함수안에서만 사용가능 한거죠.
함수 밖에서는 a 접근이 불가능합니다.
(위 코드를 실행시켜 보세요)
구글에 '전역변수 지역변수 차이' 검색하시면 더 자세한 설명이 많이 나옵니다.
mouse position interpolation과 transition linear interpolation의 차이
0
72
1
mousemove 시 따라 다니는 커서 이미지 wheel 할 경우
0
180
2
부드러운 움직임 구현1 강의 부분 질문있습니다.
0
147
2
go live 실시간 크롬
0
320
1
javascript 도움말 vsCode 확장팩 문의!
0
362
1
블로그 상단 페럴렉스 효과 구현 질문 있습니다!
0
356
1
마우스 인터렉티브 변형 질문
0
338
1
안녕하세요. 수업 잘 듣고 있습니다. 포트폴리오 관련 질문도 가능할까요?
0
397
1
나비가 버튼위로올라가면 버튼의 hover기능이 멈춰버려요
0
344
1
perspective에 대해서
0
285
1
CSS에서 궁금했던 부분 -실전 페럴렉스 강의 부분
0
480
1
requestAnimationFrame 질문
0
362
1
리뉴얼 이전 강의 파일
0
441
1
코드가 미리보기로 보여주는 확장프로그램이 뭔가요?
0
747
1
수업 파일 부탁드립니다~
0
323
1
배경질문
0
353
1
textWrap의 position을 relative로 주는 것에 대해 질문있습니다!
0
289
1
safari에서 position fixed가 잘 동작하지 않습니다
0
981
1
addEventListener후에 익명함수 실행할때 뒤에 false는 어떤 역할을 하는건가요?
0
555
1
스피드 변수로 scrollTop을 두는 이유가 무엇인가요?
0
363
1
완성파일 어디서 받아볼 수 있나요 ?
0
432
1
완성 파일 요청 드립니다.
0
301
1
사진들이 상단 nav바를 침범하는데 침범 못하게 어떻게해야할까요?
0
152
1
리액트로 하면 어떻게 해야할지 작성해주실수있나요?
0
365
1





