5

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

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

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

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

4

1 回答 1

6

它用于$.data存储它:

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

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

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

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

这会给"inline"一个nodeName === "span"

于 2012-08-24T08:19:43.747 回答