2015-01-10 3 views
0

jQuery를 배우고 mouseover 이벤트에 의해 트리거 된 단추에서 배경 이미지를 변경하는 데이 단추를 사용하고 있습니다. 모든 콘솔 출력은 정확한 시간에 실행되지만 내 이미지는 변경되지 않습니다. 오류가 발생하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 보인다jQuery 변경 단추 이미지가 작동하지 않습니다.

function preloader() { 
     if (document.images) { 
      console.log("preloading images"); 
      contact_green = new Image(); 
      contact_green.src = "http://www.xxxx.com/images/contact_green.png"; 
     } 
    } 

    function addLoadEvent(func) { 
     var oldonload = window.onload; 

     if (typeof window.onload != 'function') { 
      window.onload = func; 
     } else { 
      window.onload = function() { 
       if (oldonload) { 
        oldonload(); 
       } 
       func(); 
      } 
     } 
    } 

    addLoadEvent(preloader); 

내가 "사전로드 이미지"출력을 얻을 의미에서 잘 작동하기 :

<head> 요소에서, 나는이 미리로드 스크립트가 있습니다. 그러나 올바른 범위를 가지고 있는지 확신 할 수 없습니다.

다음

<body> 요소에, 나는이 버튼을 정의 :

<script> 

    function showHover(img) { 
     console.log("show hover"); 
     if (img) img.src = contact_green;; 
    } 

    $("#contact").hover(
     function() { 
      console.log("mouse in"); 
      showHover(this); 
     }, 
     function() { 
      console.log("mouse out"); 
     } 
    ); 
</script> 
:

<td> 
     <button id='contact' class='CXIII' onclick="btnContact()"> 
      <img id="logo" src="images/contact_blue.png"> 
     </button> 
    </td> 

마지막으로, 내가 마우스 오버 이벤트에이 버튼 이미지를 변경하도록되어있는 스크립트를

콘솔 출력이 표시되지만 이미지가 변경되지 않습니다. 오류도 발생하지 않습니다. 당신은 객체, 이미지가 아닌 소스를 설정하는

+0

을 사용하고 있기 때문에? – epascarello

+0

jQuery를 배우려고하기 때문에. – Alex

+0

jQuery를 사용하는 경우'$ ("contact #")라고 쓰십시오. click (btnContact); ' – JCOC611

답변

0

img.src = contact_green;; 

요구

img.src = contact_green.src; 

그리고 당신은 이미지를 설정하는 것이 아니라, 버튼 수 있습니다.

showHover(this); 

showHover($(this).find("img")[0]); 

할 필요가 당신은 왜 당신은 그냥하여 addEventListener를 사용하지 않는 jQuery를

$(window).load(preloader); 
+0

대단히 감사합니다. 그 마지막 줄은 어디에 두어야합니까? – Alex

+0

어디 까지나'addLoadEvent (preloader); '가 있습니다. – epascarello

+0

OK. addLoadEvent (preloader) 바로 다음에 그 라인을 추가했다. 이제'preloading images'가 콘솔 출력에서 ​​두 번 나타나지만 여전히 이미지가 변경되지는 않습니다. – Alex

관련 문제