如何将内联元素淡化为块元素

时间:2015-12-31 17:29:48

标签: jquery css fadein

我想淡入一个锚元素,但我希望它是一个块元素

.main_cat_hover {display:none; height:124px; line-height:22px; padding:10px; position:absolute; top:0px; z-index:1;}

$('#main_cat_list li').mouseenter(function(){
    $(this).children('.main_cat_hover').stop(true,true).css('display','block').fadeIn();
});

但是,如果我使用css('display','block'),那么它只会显示而不会淡入,如果我删除了css,那么该元素看起来就不对了。

我如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

如何使用.hide()

来自文档:

  

匹配的元素将立即隐藏,无动画。   这大致相当于调用.css(" display"," none"),   除了显示属性的值保存在jQuery' s   数据缓存,以便以后可以将显示恢复到其初始值   值。如果元素的显示值为内联,则隐藏   如图所示,它将再次以内联方式显示。

$(this).children('.main_cat_hover')
    .stop(true,true)
    .css('display','block')
    .hide()
    .fadeIn();
});

虽然有可能更好的方式来实现这一点,但鉴于提供的信息,这似乎是最简单的。

请注意visibility: hidden将保留"空格"元素需要,但它们不可见 - 所以这可能(或不可能)是一个可行的选择。

这是Simple Working Fiddle