jQuery只有在已经隐藏时才显示悬停元素

时间:2010-11-06 17:21:39

标签: javascript jquery hover

我是jQuery的新手,我正在尝试,但是失败了,到目前为止,当用户将鼠标悬停在一个类为.menuitemtools的按钮上时,会显示一个带有.topbardropdownmenu类的表单元素。一旦用户将鼠标悬停在按钮上.menuitemtools我不希望重新格式化表格,如果它已经显示,那么检查它的显示属性的if语句是none。目前这个脚本可以正常工作,但每次你将鼠标悬停在按钮上时,表单会被重新覆盖,这会产生恼人的闪烁。一旦表单显示,我不希望.menuitemtools做任何事情,我希望当鼠标移动表单时,表单会消失。

希望一切都清楚,我不远了?非常感谢您对此的看法。

$(document).ready(function () {
    $('.topbardropdownmenu').hide();
    if ($('.topbardropdownmenu').css('display') == 'none') {
        $('.menuitemtools').hover(function () {
            $('.topbardropdownmenu').fadeIn('slow');
        });
    }
    $('.topbardropdownmenu').mouseleave(function () {
        $('.topbardropdownmenu').fadeOut('slow');
    });

});

1 个答案:

答案 0 :(得分:0)

  $(document).ready(function () {
      $('.topbardropdownmenu').hide(); 
      $('.menuitemtools').mouseover(function() { 
        if(!$('.topbardropdownmenu:visible').length)
        {
          $('.topbardropdownmenu').fadeIn('slow'); 
        }
      });

      $('.topbardropdownmenu').mouseleave(function() { 
       $('.topbardropdownmenu').fadeOut('slow') 
      });
  });