3

通常は右側に浮かんでいるdivを絶対位置(jsで決定)に移動してから、初期位置に戻したいと思います。

最初の部分はすでに機能しており、オブジェクトの「style。」タグの設定に依存しています。

mytarget.style.position="absolute";
mytarget.style.top="50px";

それを元に戻すには、標準クラスを要素に戻したいだけです。この要素には、位置情報も含まれています。

不思議なことに、再配置以外はすべて機能します。関連するコードは次のとおりです。

var mytarget= document.getElementById(titlebarid);
var newclass=tabstyleclasses[titlebarid][ismaxedtab[titlebarid]];



mytarget.className= newclass ;

デバッグ:

 alert ("wanting to set : " + newclass  )    ;

これにより、正しい値が出力されます。("adfieldtitlesm")

alert ("my target is " +mytarget.id);

同様に動作します。

alert ("new class is " + mytarget.className );

正しい値も出します。("adfieldtitlesm")

alert ("new position is " + mytarget.style.position );

「絶対」を与える(mytargetを移動するときにJSによって以前に設定されたように)、「修正」する必要があります

これはCSSクラスです:

.adfieldtitlesm
 {
  position: fixed;
 top: 200px;
 left: 50px;
 
 font-size: 50px;
 background-color: #000000;
 color: #ffffff;
 
 }

クラスが設定された後、オブジェクトが移動しないのはなぜですか?

更新:リンク

メインテストページ

これに関連する部分は、最初の動きのrebuildtabs()内の行270-297(主に290-294)であり、これは機能し、minwidget()内の行160-183です。少し厄介なコードについてお詫びします:)

4

1 に答える 1

4

インラインプロパティはクラスプロパティをオーバーライドするため、インラインを削除する必要があります。

mytarget.style.position="";

その後、fixedクラスで定義された位置が機能します。

またはおそらく使用します:

delete mytarget.style.position;

どちらが好ましいかわからない。

于 2011-01-29T01:03:14.887 に答える