编辑:值得注意的是,下面的 jQuery 版本会更紧凑,在我看来,更容易理解。
Glo,您当前拥有的代码在这里会有所帮助,尤其是因为您似乎很难更改我们提供的任何内容或实现我们可能描述的内容。无论如何,这在 IE7、Firefox 和 Opera 中都能正常工作;Safari 和 Chrome 很奇怪:http: //jsfiddle.net/bUFzq/35/(修改自http://www.plus2net.com/html_tutorial/html_frmddl.php)。
CSS 只是使选择相对于其默认位置可定位。元素只能相对于其他定位元素进行定位。`位置:相对;' 将元素留在原处,直到您移动它,这与绝对和固定不同。它还相对于其最近定位的祖先的边缘进行定位。(IT 行业有向下而不是向上增加 Y 的不幸惯例;只是向上或向下增加。)
element.offsetHeight 是元素的计算高度——它出现在屏幕上的大小。element.style.bottom (就像它的表兄弟 top、left 和 right 一样)设置元素在元素中心方向上相对于相应边缘的偏移量。setAttribute 是不言自明的;就好像您实际上在编辑 HTML 一样。 element.style的大多数属性(不在所有其他对象上)表示和修改类似命名的 CSS 属性。例如, element.style.backgroundColor 设置背景颜色属性。
addEvent 是从 Dustin Diaz 的Rock Solid addEvent()复制的一个函数,因为浏览器在如何处理事件方面并不一致。但是,如果我不在单个脚本区域内工作,我会将他的脚本放在一个单独的文件中,然后将我的脚本放在另一个文件中。我做了`var addEvent = init();' 只是这样你就不必滚动浏览他的源代码,即使它是好代码的一个很好的例子。
mouseover 和 mouseout 是实际的侦听器,使用apply 1) 显式调用,因为我以后需要该高度值和 2) 因为出于某种原因(至少在 jsFiddle 中)它没有从正确的位置开始,并且只有当侦听器会按该顺序被调用,它会到达那里。