私の問題:
JavaScript を使用して margin-top プロパティを変更するobjectName.style.marginTop = value;
と、Chrome と Safari ではうまく機能しますが、Firefox では、配置がすべて間違っているようです。要素をビューポートの上に配置し、その後目的の位置のわずかに下になるまで下げてから少し上に移動する代わりに、Firefox は要素を最終位置の下に配置し、上に移動してから下に移動し、目的のアニメーションをほぼミラーリングします。
Javascriptを切り替えてCSSに値を入力すると、配置は問題ないので、間違いは.jsにあると思います。
コンテキスト:
JavaScript を使用して単純なアニメーション ロゴを作成しようとしています。ブラウザのビューポートの外からその位置にドロップしたい。ロゴは HTML 要素です <img id="site_logo" src="logo.png" />
JavaScript コードは次のとおりです。
var logoValue = -400;
function onLoad(){
// ...
logoStarter();
}
function logoStarter(){ //sets the logo in its starting position outside the viewport
var site_logo = document.getElementById("site_logo");
site_logo.style.marginTop = logoValue +"px";
logoAnimationDown();
}
function logoAnimationDown(){ // moves the logo down until it is somewhat underneath its final position
if(logoValue <= 20){
console.log(logoValue);
logoValue += 17;
var site_logo = document.getElementById("site_logo");
site_logo.style.marginTop = logoValue +"px";
setTimeout('logoAnimationDown()', 30);
}
else{
setTimeout('logoAnimationUp()', 30);
}
}
function logoAnimationUp(){ // moves the logo up to its final position
if(logoValue > 0){
console.log(logoValue);
logoValue -= 10;
var site_logo = document.getElementById("site_logo");
site_logo.style.marginTop = logoValue + "px";
setTimeout('logoAnimationUp()', 30);
}
}