2012-07-25 4 views
1

내가 HTML에 정의 된 ID #contactblurb 인 요소를 가지고 함수를 만들고 여기에 인수로 문서 요소를 통과 다른 요소를 숨기고 이것을 #contactblurb으로 표시하십시오. 나는 다른 요소뿐만 아니라 #contactblurb을이 작업을 수행 할 수 있도록하려면, 그래서 숨길 (내가 무슨 생각)한다 JQuery와의 요소를 함수를 만들어 : 나는 통해 전화 해요JQuery와는

var HideSlidesAndShowMe = function($elem) 
{ 
    $('#slides').fadeOut('slow', function() 
    { 
    $('#acorn').css({opacity : 0.05}); 

    $elem.show(); 
    }); 
} 

를 :

$("#contactNav").hover(function() { 
            HideSlidesAndShowMe($("#contactblurb")) ; 
           }, 
           function() 
           { 
            // other stuff on exit hover. 
           } 
        ); 

그러나 #contactblurb는 표시되지 않지만 다른 것들은 수행합니다.

내가 인수를 전달하는 방식에 문제가 있습니까?

+1

방법을 행동해야 좋은 행동을 할 것으로 보인다 http://jsfiddle.net/g9kBC/

그것을 전달하는 것은 정확합니다. 여기보세요 : http://jsfiddle.net/techfoobar/8FH46/ – techfoobar

+0

이상하게도 함수 선언문에서'elem' 앞에'$'를 제거하면됩니다. – BeeBand

+0

'$ elem'은'elem'과 같이 유효한 식별자 이름입니다. 그것은 두 가지 방법으로 작동해야합니다! – techfoobar

답변

1

근무 데모 :이 다시 HTML을 확인하고도 $ 기호 닫는 괄호가 :)

코드

var HideSlidesAndShowMe = function($elem) { 
    //$('#slides').fadeOut('slow', function() { 
     // $('#acorn').css({ 
     // opacity: 0.05 
     //}); 
     alert($elem.attr('id')); 
     $elem.show(); 
    } 


$("#contactNav").hover(function() { 
    alert('f'); 
    HideSlidesAndShowMe($("#contactblurb")); 
}, function() { 
    // other stuff on exit hover. 
});​