2013-06-24 3 views
-1
나는이와 클릭에 변경 이미지있어

changeImage를 클릭 한 다음 js의 링크를 클릭 하시겠습니까?

새로운 자바 스크립트와 손을 필요로 ... :

<img alt="" src="header.gif" id="imgClickAndChange" onclick="changeImage()"/> 
</p> 
    <script language="javascript"> 
     function changeImage() { 

    if (document.getElementById("imgClickAndChange").src == "brain.gif") 
    { 
     document.getElementById("imgClickAndChange").src = "brain.gif"; 
    } 
    else 
    { 
     document.getElementById("imgClickAndChange").src="brain.gif"; 
    } 
} </script> 

을하지만이 링크 brain.gif에 클릭합니다 div라는 #two. 새로운 요소를 링크로 만들려면 어떻게해야합니까?

+4

"링크"? 또한 당신의'if' /'else'는 의미가 없으며 전혀 효과가 없습니다 (if (a == b) {a = b} else {a = b}'와 비슷합니다). – acdcjunior

+0

질문이 확실하지 않습니다. 'div #two에 뭐가 들었 니? 화면에 무엇이 나타나야합니까? 모든 이미지가 brain.gif 인 이유는 무엇입니까? '질문을 다시 작성하고해야 할 일을 분명하게 기재하십시오. 가능한 경우 단계별로 사용하십시오. 나는 당신의 질문이 더 명확하게 진술 되었다면 지금까지 해결되었을 것이라고 확신합니다. – gibberish

답변

1

이것은 정확하게 우아하지는 않지만 원하는 것입니다. HTML 외부에서 클릭 핸들러를 움직 였고 매번 그것을 찾는 대신 imgClickAndChange를 저장하는 것과 같은 정리 작업을 할 수 있지만 확실한 시점을 얻을 수 있습니다!

HTML :

<img alt="" src="header.gif" id="imgClickAndChange" /> 

자바 스크립트 :

function changeImage() { 

     if (document.getElementById("imgClickAndChange").src == "brain.gif") { 
      document.location.hash = "#something"; // this will jump you down the page to an element with ID of "something" 
     } else { 
      document.getElementById("imgClickAndChange").src = "brain.gif"; 
     } 
    } 

    var img = document.getElementById("imgClickAndChange"); 
    img.onclick = changeImage; 
+0

이것은 트릭을합니다! 고맙습니다! – user2517571

+0

좋습니다. 청소 작업을해야합니다. 아래처럼 A로 감싸는 것도 좋습니다.하지만 기본 클릭을 듣고 나서 JS 클릭을 듣는 것에 미치지 않습니다. 아무 문제가 없지만 때로는 문제를 정리할 수 있기 때문에 모든 것을 하나의 이벤트로 유지하는 것을 선호합니다. – oooyaya

1

당신은 앵커 태그에 이미지를 포장해야합니다, 당신은 앵커의 href 설정할 수 있습니다 그런 식으로. 또한, 당신이 당신의 onclick

HTML에 this을 전달한다 :

<a href="#test"><img alt="" src="header.gif" id="imgClickAndChange" onclick="changeImage(this)"/></a> 

JS를 :

방법`DIV 번호의 two`에
function changeImage(obj) { 
    if (obj.src == "brain.gif") 
    { 
     obj.src = "brain.gif"; 
    } 
    else 
    { 
     obj.src="brain.gif"; 
    } 

    //Change the href of the anchor 
    obj.parentNode.href = "#two"; 
    console.log(obj.parentNode.href); 
} 
관련 문제