2011-10-23 6 views
0

내가 가진 상황은 HTML 페이지의 드롭 다운 목록과 이미지입니다. 자바 스크립트를 사용하고 있습니다. switch 문을 사용하고 있습니다. 스위치 및 사례 설명을 작성했습니다. 지금까지 드롭 다운 목록에서 선택을하면 브라우저에 고유 한 메시지를 표시하는 각 경우에 대해 경고 상자가 나타납니다. 그러나 각 메시지와 함께 페이지의 이미지가 변경되기를 원합니다. switch 매개 변수에서 여러 변수를 사용했지만 경고 상자를 사용할 수 없습니다. 메시지 상자와 이미지를 호출 할 수있는 단일 스위치 변수를 사용하는 방법이 있습니까? 또는 스위치 매개 변수에 여러 변수를 사용하는 방법이 있습니까? 나는 인터넷, 심지어이 포럼에서 답변을 찾고 있지만 내 문제와 일치하는 것을 찾지 못했습니다. if 문과 AJax를 사용하여 답변을 찾았지만 숙제의 범위와 지금까지 배운 내용을 벗어납니다. 기본적으로 내 작업은 스위치 구성을 사용하여 선택 항목을 평가하고 일치 항목이 발견되면 적절한 이미지와 경고 상자를 표시하는 것입니다. 어떤 제안.switch 매개 변수에서 둘 이상의 변수를 사용하여 switch 문에서 페이지 내용을 변경합니다. 그게 끝날 수 있습니까?

+0

HTML

<img src="image_path" id="myImage" /> 

자바 스크립트. 그것은 단지 힘들뿐입니다. –

+0

코드 게시 –

+0

의견을 보내 주셔서 감사합니다. 나는 배우기 때문에 어떤 것이 효과적인지, 그렇지 않은 것이 좋은 것인지 알고있는 것이 좋습니다. 나는 지금부터 작은 단락으로 나의 단락을 깨뜨리려고 노력할 것이다. – swydell

답변

0

각 경우의 이미지 원본을 변경할 수 있습니다. switch 문은 하나의 매개 변수 만 허용합니다.

내가 그 큰 단락을 읽을 것, 그리고 다른 하나하지 않을 수 아니에요

var img = document.getElementById("myImage"); 
switch(value) { 
    case 0: 
     alert("message"); 
     img.src = "new_path"; 
     break; 
    case 1: 
     alert("message"); 
     img.src = "new_path"; 
     break; 
    default: break; 
} 
+0

유튜브 (YouTube)에서 당신의 답변과 비슷한 것을 보았지만 효과가 있을지 확신 할 수 없었습니다. 시도해 보겠습니다. 감사합니다. 전문가가 switch 문에서 여러 매개 변수를 사용하지 않는다는 것을 아는 것도 좋습니다. 그것을 얻으려고 노력하는 견과류가 가고있었습니다. – swydell

1

스위치 표현식에 여러 변수가 필요하지 않은 것처럼 들립니다. 오히려 스위치의 각 지점에 여러 개의 명령문이 필요합니다. 예 :

switch(selectedValue) 
{ 
    case 'foo': 
     alert('foo'); 
     imageElement.src = 'http://foo'; 
     break; 
    case 'bar': 
     alert('bar'); 
     imageElement.src = 'http://bar'; 
     break; 
} 
+0

절대 경로 여야합니까, 아니면 절대적인 참조입니까? 모든 이미지는 같은 폴더에 있습니다. – swydell

+0

절대 URI 일 필요는 없습니다. 그것은 상대적 URI 일 수 있습니다.이 경우 HTML 문서의 URI와 관련하여 해석됩니다. 예를 들어, HTML 문서가 http://example.com/foo.html이고 자바 스크립트가 http://example.com/scripts/foo.js 인 경우'imageElement.src = '이미지를 설정할 수 있습니다/foo.jpg''이며, http://example.com/images/foo.jpg로 해결할 것이라고 믿습니다.) – ruakh

+0

상대 경로를 사용하여 제안을 시도했지만 경고 메시지가 표시됩니다. 그것은 저에게 디폴트를주었습니다. 나는 또한 img.src = "new_path"를 사용해 보았고 같은 기본값을 얻었다. 나는 sunPic = "document.getElementById ("pic "). selectedIndex;를 var 이름으로 사용했다. 나는 sunPic을 함수 및 스위치의 매개 변수와 case 문에서 사용했다. 즉 sunPic ="0 "등등 – swydell

관련 문제