2011-05-04 99 views
0

(好吧,我知道这些问题可能听起来很糟糕,所以有人编辑他们是否知道如何重新表达它)。如何防止孩子从一个元素到另一个元素的顶部

所以,基本上我有这样的:jsFiddle

而且你可能也看到,我试图重新创建一个基本的Windows 7的Aero效果(好奇,好玩,学习等没啥大),但我偶然发现了一些问题。 (我会解释只是含糊,因为你可以看到它在小提琴和否则这将是一个textathon)

  • 文本粘贴在父母的(DIV)父(DIV)元素的顶部。
  • 文字莫名其妙地泄漏出重复元素(div),甚至认为它不是从原来的。

我知道这一切听起来很奇怪,但你可能最好看到它在fiddle

谢谢。

回答

1

我想你遇到的问题是出于此:

$(container).find('*').each(function() { 
    var e_clone = $(this).clone(false).appendTo(processor); 
    // etc etc 
}); 

通过使用*选择再运行。每次你克隆更多的标记到#processor比我想你可能已经打算。你会得到span.lol的两个副本,因为它首先克隆#box(包括所有的孩子),然后在下一个迭代中通过它自己复制span.lol

至于文本“泄露”出来的母公司,它发生在原......至少这是我在Chrome中看到,如果我注释掉调用glass('#container', '#processor')

+0

嗯,我解决了溢出问题。出于某种原因,文本仍然处于顶部,并不是因为有多个副本。我稍微改了一些代码(它处于调试阶段,只复制单个盒子,它是孩子们,但白色,尖锐的文本依然保持在最前面) – omninonsense 2011-05-05 15:03:13

+0

更清晰的白色文本实际上并不在Z顺序之上,请看看这个:http://imgur.com/J8lDQ – RwwL 2011-05-05 21:15:03

+0

在.each的第一次迭代中,您通过.clone()将.boxblur和它的子项复制到#processor。但是在每一次迭代中,这只是指.boxblur,因此您的颜色和文字阴影更改不会应用于.lol的副本。 – RwwL 2011-05-05 21:22:01

相关问题