2011-08-25 5 views
0

페이지로드시 "콘텐츠 표시"라는 버튼이 있는데 클릭하면 콘텐츠가 표시되고 "콘텐츠 숨기기"버튼으로 전환됩니다. 이것은 아래의 코드에 따라 훌륭하게 작동합니다."콘텐츠 숨기기 콘텐츠 표시"이미지 가리개

$('div.content').hide(); 

$('img.contentslide').click(function() { 
    $('div.content').toggle(1500,function() { 
     if (jQuery.browser.msie) {       // Lines 15-17 = special treatment for IE, because of 
      this.style.removeAttribute('filter');   // lack of support for ClearType font rendering on items 
     }             // being toggled in jQuery. 
    }); 
     if (slideState == 'closed') { 
      $('img.contentslide').attr('src','images/hidecontentstd.png'); 
      slideState = "open";  

     } else { 
      $('img.contentslide').attr('src','images/showcontentstd.png'); 
      slideState = "closed"; 
     } 
}); 

slideState는 DOM 준비가 완료되도록 설정된 부울 변수입니다.

내가 가지고있는 문제점은 마우스를 가져 가면 버튼 위로 마우스를 가져 가면 RELEVANT 호버 이미지가 표시됩니다 (즉, slideState가 열려있을 때 숨기기 콘텐츠 가리개, slideState가 닫힌 경우 표시 콘텐츠가 가리켜 짐).). 나는이 다음 시도했습니다

:

하지만 행운과 http://www.foryourlungsonly.net/2007/10/jquery-image-swap/. CSS 호버를 사용하고 싶지 않습니다.

+0

왜'.click()'과 같은 기술을 사용할 수 없습니까? ('slideState'의 값에 따라 그림을 선택하십시오)? – JJJ

+0

@Juhana, 왜냐하면 나는 아주 작은 jQuery (15 yo 학생이고 모두 ...)를 알고 있기 때문에 나는 그것을 구현하는 방법에 관해서는 가장 희미한 단서를 가지고 있지 않을 것이다. 나는 몇 가지 방법을 시도하고 그들은 일하지 않았고, 내가 본 특정 튜토리얼은 나의 특별한 문제를 해결하는 것 같지 않다. – Lukas

답변

0

.click()으로 올바른 이미지를 선택했지만 .hover() 이벤트가있는 경우와 동일한 작업을 수행 할 수 있습니다.

$('img.contentslide').hover(function() { 
     if (slideState == 'closed') { 
      $(this).attr('src','images/closedHover.png'); 
     } else { 
      $(this).attr('src','images/openHover.png'); 
     } 
    }, 
    function() { 
     if (slideState == 'closed') { 
      $(this).attr('src','images/closedNoHover.png'); 
     } else { 
      $(this).attr('src','images/openNoHover.png'); 
     } 
    } 
); 
+0

완벽하게 작동했습니다! 감사. 당분간 저는 복사하여 붙여 넣었고 관련 이미지 소스를 변경했습니다. 그러나 어떻게 작동하는지 이해하려고 시도 할 것입니다. 다시 한번 감사드립니다. – Lukas

관련 문제