jQuery FadeIn如何知道使用的显示模式?

时间:2012-08-24 08:17:43

标签: javascript jquery html animation

简单的问题:jQuery如何知道元素在使用fadeIn时应该使用的显示模式?

我的意思是,即使我在CSS中设置display:none 最初,它似乎对我淡入的任何元素都使用了正确的显示模式 - 图像使用内联, div正在使用块等。

我查看了GitHub上的jQuery源代码,但我找不到我要找的东西。

我问的原因是因为我自己制作一个小插件,使用淡入淡出(但是使用Animate,因为有超过1个需要动画的属性)。

1 个答案:

答案 0 :(得分:6)

它使用$.data来存储它:

console.log($._data( elem, "olddisplay" ));

下划线表示它可以访问通常$.data$.fn.data无法访问的数据。基本上这仅供内部使用,您不应触摸它。

如果元素通过CSS设置为display:none,并且淡入淡出,则jQuery仍然知道将其设为inline等。在这种情况下,它使用函数

// Try to determine the default display value of an element
function css_defaultDisplay( nodeName ) {

哪个会为"inline"

提供nodeName === "span"