0
jQuery("#markets_served").hover(function(){
    jQuery.data(document.body, "ms_height", jQuery(this).height());
    if(jQuery.data(document.body, "ms_height") == 35) {
        jQuery(this).stop().animate({height:'195px'},{queue:false, duration:800, easing: 'easeOutQuad'});
        jQuery("#btn_ms_close").css("display","inline");
    }
});

jQuery("#btn_ms_close").hover(function(){
    jQuery.data(document.body, "ms_height", jQuery("#markets_served").height());
    jQuery("#markets_served").stop().animate({height:'35px'},{queue:false, duration:800, easing: 'easeOutQuad'});
    jQuery(this).css("display","none");
});

悬停问题。它不会工作。当鼠标离开悬停时出现的内容时,它不会悬停。

http://uscc.dreamscapesdesigners.net/ - 底部示例“涵盖的市场”

4

4 回答 4

2

看看jQuery 网站上的悬停声明。您可以一举指定 mouseover 和 mouseout 事件的处理程序。无需计算高度或将另一个处理程序绑定到出现的新 div。

$("#markets_served").hover(
  function () {
    //do this when over
  },
  function () {
    //do this when out
  }
);
于 2012-04-24T16:39:45.690 回答
1

使用是这样的:

$('#el').hover(function(e) { /* hover; */ }, function(e) { /* unhover */ });

这是文档

于 2012-04-24T16:37:32.683 回答
0

当鼠标进入时,您会增加 div 的高度,但当鼠标在 div 之外时,您不会重置它,因此会出现问题。

你应该这样做:

jQuery("#markets_served").hover(
    function(){
        jQuery.data(document.body, "ms_height", jQuery(this).height());
        if(jQuery.data(document.body, "ms_height") == 35) {
            jQuery(this).stop().animate({height:'195px'},{queue:false, duration:800, easing: 'easeOutQuad'});
            jQuery("#btn_ms_close").css("display","inline");
        } , 
    function(){
            jQuery.data(document.body, "ms_height", jQuery("#markets_served").height());
            jQuery(this).stop().animate({height:'35px'},{queue:false, duration:800, easing: 'easeOutQuad'});
            jQuery("#btn_ms_close").css("display","none");
        }


    });
于 2012-04-24T16:38:31.293 回答
0

或者更简单没有数据:

jQuery("#markets_served").hover(function() {
    jQuery(this).stop().animate({height:'195px'},{queue:false, duration:800, easing: 'easeOutQuad'});
    jQuery("#btn_ms_close").css("display","inline");
}, function() {
    jQuery(this).stop().animate({height:'35px'},{queue:false, duration:800, easing: 'easeOutQuad'});
    jQuery("#btn_ms_close").css("display","none");
});
于 2012-04-24T17:02:36.433 回答