0

This looks really bloated, can it be rewritten any better/more compact:

$("#cart-summary").hover(
      function () {
        $('.flycart').slideDown('fast');
      }
   );
   $(".flycart").hover(
      function () {}, // mousein function not required
      function () { // hide menu on mouseout
        $('.flycart').slideUp('fast');
      }
   );
    $('.flycart a.close').click(function(){
        $(this).parents('.flycart').hide();
    });

Thanks!

4

2 回答 2

2
$("#cart-summary").mouseenter(function () {
    $('.flycart').slideDown('fast');
});

$(".flycart")
    .mouseleave(function () {
        $(this).slideUp('fast');
    })
    .find('a.close')
        .click(function(){
            $(this).parents('.flycart').hide();
        });

不过,这是一个小小的改进。我猜不出 the#cart-summary.flycarts 之间的关系。

于 2009-10-01T14:18:25.773 回答
1

简而言之,没有。但是,您可以不使用空悬停功能:只需使用 mouseenter()and mouseleave()mouseover和 和有mouseout细微差别。查看 jQuery API 以获取更多信息。mouseentermouseleave

$("#cart-summary").mouseenter(function()
{
    $('.flycart').slideDown('fast');
});

$(".flycart").mouseleave(function()
{
    $(this).slideUp('fast');
});

$('.flycart a.close').click(function()
{
    $(this).parents('.flycart').hide();
});
于 2009-10-01T14:21:57.220 回答