<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>西红柿爱番茄 &#187; display</title>
	<atom:link href="http://www.ilovejs.net/archives/tag/display/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ilovejs.net</link>
	<description>到了创造为主的阶段，不忘继续学习</description>
	<lastBuildDate>Thu, 15 Dec 2011 06:18:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>获取DOM元素的真实高度和宽度</title>
		<link>http://www.ilovejs.net/archives/108</link>
		<comments>http://www.ilovejs.net/archives/108#comments</comments>
		<pubDate>Fri, 01 Jan 2010 06:03:21 +0000</pubDate>
		<dc:creator>Supersha</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[DOM]]></category>

		<guid isPermaLink="false">http://www.ilovejs.net/?p=108</guid>
		<description><![CDATA[以前在做动画脚本的时候，遇到过这样的一个问题：当DOM元素display:none;之后，你将得不到它的实际高度和宽度。这个在fadein等类似效果的时候就有些问题了。这个问题困扰了一些时间，最后觉得还是元素隐藏导致的结果，因此采用了这样的方法：将隐藏的元素的display暂时设置为block，获取到真实的高度和宽度之后，再还原隐藏元素。下面是我封装好的获取元素的真实高度和宽度的对象： [javascript] var Style = { //获取元素最终的样式 getFinalStyle: function(elem, css){ if (window.getComputedStyle) { return window.getComputedStyle(elem, null)[css]; } else if (elem.currentStyle) &#8230; <a href="http://www.ilovejs.net/archives/108" class="more-link">了解更多</a>]]></description>
			<content:encoded><![CDATA[<p>
以前在做动画脚本的时候，遇到过这样的一个问题：当DOM元素display:none;之后，你将得不到它的实际高度和宽度。这个在fadein等类似效果的时候就有些问题了。这个问题困扰了一些时间，最后觉得还是元素隐藏导致的结果，因此采用了这样的方法：将隐藏的元素的display暂时设置为block，获取到真实的高度和宽度之后，再还原隐藏元素。下面是我封装好的获取元素的真实高度和宽度的对象：
</p>
<p>[javascript]<br />
var Style = {<br />
    //获取元素最终的样式<br />
    getFinalStyle: function(elem, css){<br />
        if (window.getComputedStyle) {<br />
            return window.getComputedStyle(elem, null)[css];<br />
        } else if (elem.currentStyle) {<br />
            return elem.currentStyle[css];<br />
        } else {<br />
            return elem.style[css];<br />
        }<br />
    },<br />
    height: function(elem){<br />
        if (this.getFinalStyle(elem, &quot;display&quot;) !== &quot;none&quot;) {<br />
            return elem.offsetHeight || elem.clientHeight;<br />
        } else {<br />
            //获取隐藏掉的函数的高度，先让它显示，获取到高度之后再隐藏，下同<br />
            elem.style.display = &quot;block&quot;;<br />
            var h = elem.offsetHeight || elem.clientHeight;<br />
            elem.style.display = &quot;none&quot;;<br />
            return h;<br />
        }<br />
    },<br />
    width: function(elem){<br />
        if (this.getFinalStyle(elem, &quot;display&quot;) !== &quot;none&quot;) {<br />
            return elem.offsetWidth || elem.clientWidth;<br />
        } else {<br />
            elem.style.display = &quot;block&quot;;<br />
            var w = elem.offsetWidth || elem.clientWidth;<br />
            elem.style.display = &quot;none&quot;;<br />
            return w;<br />
        }<br />
    }<br />
};</p>
<p>//Usage：<br />
onload = function(){<br />
     alert(Style.height(document.getElementById(&quot;div&quot;)));<br />
}<br />
[/javascript]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilovejs.net/archives/108/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

