首先谢谢,14楼的那个朋友.增加了关闭时的效果...
起初我没有加关闭的效果是因为关闭的速度太快了.加了效果反而觉得不好,当然每个人的看法都可能不同,如果想加关闭效果的话,就按14楼给出的代码使用.
下面再发一个,在那个效果的基础上所增加了一个效果...
具体是什么,看下面代码的运行结果就知道了...
此次还修正了一个小Bug...
在之前的代码中,在计算所得到对象的高度的时候,直接使用的是object.offsetHeight,这里所得到的高度是对象的高度加上边框的高度的总和,所以在还原对象的原来高度的时候会让原对象的高度增加.(具体增加的高度为原高度加它的边框的高度)
比如:
复制内容到剪贴板
代码:
<div id="menu" style="position:absolute;top:10px;left: 120px;border:1px solid #ccc;width:160px;height:16px;text-align:center;cursor:pointer;overflow:hidden;"></div>这段代码中.它的高度为 16,而用obj.offsetHeight得到的高度为 18,也就是它的上下边框的高度(分别为1)加上它的高度(height)所得到的值.
如果听的不太明白的话,运行以下下面的代码,让它展开一次,再关闭,你就知道我说的是啥了...
注意展开关闭以后,右侧的高度..
提示:您可以先修改部分代码再运行
在第一次的代码中,并未修正该计算的错误,导致还原对象高度的时候,增加了它的高度.
这次在计算它的高度的时候.减去了它的边框的高度,以得到它的真实高度
复制内容到剪贴板
代码:
var oh = parseInt(obj.offsetHeight) - parseInt(obj.style.borderTopWidth) - parseInt(obj.style.borderBottomWidth);
var ow = parseInt(obj.offsetWidth) - parseInt(obj.style.borderLeftWidth) - parseInt(obj.style.borderRightWidth);下面是正确的效果...
提示:您可以先修改部分代码再运行
更多的效果.等待大家的发现..大家一起动手完善它..
比如...这是增加高度和宽度的..你也可以让它改变left,top,bottom,right这些值,看看具体是什么效果..
比如下面这个是改变的left,top的值...
注意这段代码中与上段代码中的区别..
提示:您可以先修改部分代码再运行
[
本帖最后由 faeng220 于 2008-4-8 23:38 编辑 ]