私が取り組んでいるページでは、ユーザーがオブジェクトをクリックすると、1つのSVGグループが邪魔にならないように回転し、別のSVGグループが内側に回転します。
そのままのコードはWebKitでは問題なく機能しますが、Geckoではまったく機能しません。Geckoによって実行されていないコードのブロックは次のとおりです。
var totStep = dur*2/msrate, step=0;
window.timer = window.setInterval(function(){
if(step<totStep/2){
var inangle = -50*easeIn(step,totStep/2);
iris.setAttribute("transform","rotate("+inangle+" 23 -82)");}else{
var prog = easeOut2((step-(totStep/2)),totStep/2);
var outangle = 50*prog;
var down = 400*prog;
vinyl.setAttribute("transform","rotate("+(-50+outangle)+" 986 882)");
needle1.setAttribute("transform","translate(0 "+(-400+down)+")");
buttons.setAttribute("transform","translate(0 "+(-400+down)+")");}
step++;
if (step > totStep) {window.clearInterval(window.timer); return}
});
このコードのほとんどは、ページが読み込まれたときに目を開く関数から適応されており、その関数はGeckoで正常に機能するため、これは私には謎めいたものです。
このページで、すべてのソースコードを含むページを見ることができます。問題のある関数は、リンクされたeye.jsに記述されています。この問題は、ユーザーがメニューの[音楽]セクションの下にある[DJ Docroot]をクリックすると発生します。このセクションには、任意の場所をクリックしてアクセスします。