javascriptでスタイルプロパティを変更した後、スタイルシートの値(単位を含む)に戻す方法を考えています。
以下の例では、出力をでは100px
なく (CSS の値) として読みたいと思います。10px
getComputedStyle
また、ダミーの div を に保持するtop:25px
ため、プロパティを削除しても機能しstyle
ません。
私が持っている最善の方法は、ノードのクローンを作成し、高さを読み取ってプロパティ ( http://jsfiddle.net/daneastwell/zHMvh/4/ ) に格納することですが、これは実際にはブラウザーのデフォルトの css 値を取得していません (特にこれがsで設定em
)。
http://jsfiddle.net/daneastwell/zHMvh/1/
<style>
#elem-container{
position: absolute;
left: 100px;
top: 200px;
height: 100px;
}
</style>
<div id="elem-container">dummy</div>
<div id="output"></div>
<script>
function getTheStyle(){
var elem = document.getElementById("elem-container");
elem.style.left = "10px";
elem.style.top = "25px";
var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("left");
document.getElementById("output").innerHTML = theCSSprop;
}
getTheStyle();
</script>