2017-12-26 12 views
0

너비가 600px 미만인 경우 이미지 소스를 변경해야합니다. 다음 스크립트를 만들었지 만 작동하지 않습니다.자바 스크립트를 사용하여 img 소스를 변경하는 방법

 var sizewidth = window.innerWidth; 
 
     screensize(); 
 
     function screensize() { 
 
      if (sizewidth < 601) { 
 
       document.getElementById('logotipo').src = "../imgs/image.png"; 
 
      } 
 
     }

거기에 문제가 있습니까? 누군가 그것을 해결할 수 있도록 도와 줄 수 있습니까?

+0

미디어 쿼리를 사용할 수 있습니다. –

+0

예,하지만이 언어에 대해 알기 위해 자바 스크립트를 사용하고 싶습니다. – d3pod

+0

오류가 무엇입니까? –

답변

1
var sizewidth = window.innerWidth; 
    screensize(); 
    function screensize() { 
     if (sizewidth < 601) { 
      document.getElementById('logotipo').setAttribute("src", "../imgs/image.png"); 
     } 
    } 
+0

OP 코드를 사용하는 경우 변경 사항을 명시하십시오. 그렇지 않으면 판독기가 각 행을 불필요하게 비교해야합니다. 더 나은 방법은 변경 한 한 줄을 붙여 넣고 간단한 설명을 포함하는 것입니다. – cst1992

0

나는 코드를 복사했으며 정상적으로 작동한다고 생각합니다. 어쩌면 문제는 스크립트 파일/코드의 위치입니다. 그냥 당신이 이미지의 경로가 예 다음 두 번 퍼팅하려고하면 (웹 브라우저에서 콘솔 로그를 찾는 시도 할 수 있습니다) ?? 정확한지 확신

var sizewidth = window.innerWidth; 
 
screensize(); 
 

 
function screensize() { 
 
    if (sizewidth < 601) { 
 
    document.getElementById('logotipo').src = "../imgs/image.png"; 
 
    } 
 
}
<img id="logotipo" src="logo.png">

+0

고마워, 문제는 내 HTML 스크립트의 위치에 있다고 생각해. – d3pod

+0

@ d3pod는 window.onload = screensize에 대한 함수 호출'screensize();'를 대체합니다. 그러면 DOM이로드되었는지 확인할 수 있습니다. – NewToJS

0

아래에서 확인 \ 대신 코드에 \

+0

무엇? * "\"대신 OP 코드에 소스 코드에 백 슬래시가 없습니다. 이 문제를 해결하기위한 귀하의 접근 방식은 실제 문제와 거리가 멀다고 생각합니다. 소스 코드 함수는 페이지의 올바른 위치에 배치되거나 창로드 함수 내에 배치 된 경우에만 찾습니다. – NewToJS