Jquery - 创建一个函数并将一个document元素作为参数传递给它

时间:2012-07-25 11:03:27

标签: jquery hover

我在HTML中定义了一个标识为#contactblurb的元素:

<div id="contactblurb" class="tab">
  email:  info@something.co.uk
</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 个答案:

答案 0 :(得分: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.
});​