2012-07-25 49 views
1

我有ID #contactblurb的元素在HTML中定義:jQuery的 - 創建一個函數,並傳遞一個文檔元素作爲參數傳遞給它

<div id="contactblurb" class="tab"> 
    email: [email protected] 
</div> 

當鼠標懸停在另一個元素(#contactNav),我想隱藏一些其他元素並顯示此#contactblurb。我希望能夠與其他元素做到這一點,不只是#contactblurb,所以我在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/techfoobar/8FH46/ – techfoobar 2012-07-25 11:10:21

+0

這很奇怪,我只能通過在函數聲明中刪除'elem'前面的'$'來實現它。 – BeeBand 2012-07-25 11:11:46

+0

'$ elem'與'elem'一樣是一個有效的標識符名稱。它應該雙向工作! – techfoobar 2012-07-25 11:15:21

回答

1

工作演示:http://jsfiddle.net/g9kBC/

這似乎是表現優良再次檢查你的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. 
});​ 
相關問題