DIV+JS,高难,一般人不要来....200分

来源:百度知道 编辑:UC知道 时间:2024/06/21 04:47:33
当一个DIV定义了position:absolute;(绝对定位时)
还可以让这个DIV根据父DIV的的移动而移动吗?(这是问题的根本,效果我已经实现,就不用绝对定位就不行。)

提这个问题是因为我要用JavaScript对首页增加一个广告,这个广告是一点一点出现的,这个广告还会把页面的内容往下挤。

我相信去过163或SINA的人都应该是什么效果.

下面有张图.那张图正在展开,从而把页面的其它内容挤下去.
回答上来绝对给200分,决不骗人

当一个对象被定义成position:absolute(绝对定位)时,他会被视为非正常文档流,他对周围其它对象不会有任何影响(其它对象会对它视而不见)。如果将它父对象的position属性设置成relative(相对定们)或者absolute,那么该对像的left 和top属性是相对于它父对象的,否则他会一直向上查找,走到找到父对象为relative或者absolute为止,如果所有祖宗对象都不包含relative或者absolute,那么该对象的left和top属性是相对于body而言的。一般用到position:absolute;时都会将它的父对象加上position:relative。

要实现你所说的那种效果其实很简单:
首先你必须事先准备一个DIV(用DOM方法添加,或者直接手动添加都行),最主要是是将该DIV的position属性设置成relative,一定不能是absolute,如果设置成absolute是不能将其它内容挤下去的。然后你必须给该DIV确定一个最终高度。再通过调用setTimeout慢慢使该对象的的高度成0变成最终的高度,关闭时正好相反。还有就是必须给该对象加上overflow:hidden属性。当对象高度小于1时,再将该对象直接设置成display:none;最好将该对象删除,还有就是记得用clearTimeout清除之前用setTimeout调用函数,以节省系统开销。

absolute 是相对的吧 所以可以到处移动 没有什么限制的。。。同时也能移出父窗。。
那个往下移动 同时 挤压下面内容的 估计是一个层DIV,,且是固定的。。只不过改变高度 因为高度变大了 。。所以下面的东西自然就下去了。。如果设置为absolute ,那估计这么变 下面的都没有反映了