JavaScriptからオブジェクトのマージンを設定しようとしています。 Opera&Firefox)で実行できますが、コードはInternet Explorerでは機能しません。
ここに私が持っているJavaScriptがあります:
function SetTopMargin (ObjectID, Value)
{
document.getElementById(ObjectID).style.marginTop = Value.toString() + "px";
}
そしてそれはこのように呼ばれます:
SetTopMargin("test_div_id", 100);
では、Internet Explorerで機能するコードを知っている人はいますか?
[2016年に更新]現在のすべてのブラウザー(IE8 +を含む)では、コード
document.getElementById(ObjectId).style.marginTop = Value.ToString() + 'px';
正常に動作します。
非常に古いIE(<8)バージョンでは、代わりにこの非標準の仕掛けを使用する必要があります:
document.getElementById(ObjectId).style.setAttribute(
'marginTop', Value.ToString() + 'px');
[〜#〜] edit [〜#〜]-OPによって削除されたコメントから:
現在のIEではstyle.setAttribute( 'margin-top'、..)を使用できますが、8以前では、style.setAttribute( 'marginTop'、..)が必要です。
あなたのコードはIE8で動作します。
<html>
<head>
<script type="text/javascript">
function SetTopMargin (ObjectID, Value)
{
document.getElementById(ObjectID).style.marginTop = Value.toString() + "px";
}
</script>
</head>
<body>
<button id="btnTest" onclick="SetTopMargin('btnTest', 100);">Test</button>
</body>
</html>
IE6では、非常に短い一時停止後も同様に機能しているようです。