日期:2014-05-16  浏览次数:20346 次

js获取高度自适应DIV的高度问题
1.div写在页面上,用js给他填充内容之后,然后.height()获取他的高度,不管怎么样取到的高度都是页面上原来没有填充内容之前的div的高度(我没有给div设置高度)

2.如果给div设置一个min-height,这样不管div高度怎么变化,取到的高度都是min-height的值


大概就这样的情况,请高手指点一下,什么原因,怎么解决,谢谢
------解决方案--------------------
      tar.fadeIn('slow', function () {

            var tmpHeight = tar.height();
            console.log(tmpHeight); //如果把高度定义在这里,就正常
        }
);
------解决方案--------------------
果果姊姊,好久不见,纯属打招呼,不用给分~
------解决方案--------------------

 html += '<div id="' + Util.ToolTip.tipID + '" class="' + Util.ToolTip.toolClass + '" style="display:none">';


你的div在進行css樣式設置的時候是display:none的,所以獲取不到尺寸

你可以這樣
<div style="position:absolute;left:-10000px;top:-10000px;"></div>
等獲取到尺寸后,再設置left
------解决方案--------------------
top把它放到正確的位置
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

http://www.aiyiweb.com/javascript/1169489.html
这里有个解决方法,能解决问题,但始终不明白,把高定义到最后,之前的函数代码是怎么获取到的,取到的应该是undefined才对啊

自己写两个alert,一个在你原来的位置,一个在别人告诉你的位置,然后你就明白到底谁先谁后了,代码不是写在前面就一定会先执行的

我是这么做的,console出来看的,人家告诉的位置是对的,打印出来正常,我之前定义的位置始终是原始高度,但我不明白,这个道理说不通啊

回调函数是异步调用的,也就是说你那儿写的代码是在函数中,但该函数不会马上执行,而是会等到请求从服务端返回后再执行,所以就执行在后了