Firefoxを含むすべてのブラウザで正常に動作する次のコードがあります。
var top;
var imageHeight;
function upFunction() {
top = parseInt($(".feature img").css("top"));
imageHeight = $(".feature img").height();
if (top > (imageHeight - 335) * -1) {
$(".feature img").css("top", top - 1 + "px");
$("#topPos").val(top - 1);
}
};
$(document).ready(function() {
$("a#up").mousedown( function(e) {
e.preventDefault();
upFunction();
timeoutId = setInterval( upFunction, 100 );
}).bind('mouseup mouseleave', function() {
clearInterval(timeoutId);
});
});
しかし、私のページには明らかに他の何かがあり、これがFirefoxで機能しない原因となっており、私はそれを解決できません。
ページからすべてを削除してそれが何であるかを調べることなく、それが壊れている原因を見つけることができる方法はありますか?
編集:
OK、Jaiの答えの助けを借りて、私のコードを少し調整するとFirefoxで動作するように見えます。これが私がしたことです:
function upFunction() {
var top = parseInt($(".feature img").css("top"));
var imageHeight = $(".feature img").height();
if (top > (imageHeight - 335) * -1) {
$(".feature img").css("top", top - 1 + "px");
$("#topPos").val(top - 1);
}
};
2つの変数をグローバルスコープから削除します。なぜそれが違うのかはわかりませんが、違いました。