我很新的JavaScript,所以請原諒我,如果這是一個愚蠢的問題。我使用下面的代碼讓圖像滑動到屏幕上,並使用另外2個圖像一個接一個地顯示。這適用於Chrome和IE 7-9。不幸的是,在Firefox上,我收到一條錯誤消息:SetInterval在Firefox中看不到功能
move is not defined [mover = setInterval(move,1000); ]
我的代碼:
//define variables
var mover = 0
var bubble1move = 0
var bubble2move = 0
if(mover != 0)
{//interval is finished
function move()
{
console.log("moving")
clearInterval(mover)
var moving_img = document.getElementById("i_sliding_image")
var left = 0
function frame()
{
left -= 2 // update parameters
moving_img.style.left = left + 'px'// show frame
if (left == -274) // check finish condition
{
clearInterval(id)
bubble1move = setInterval(function() {bubble1()}, 2000);
}
}
var id = setInterval(frame, 10) // draw every 10ms
}
}
if(bubble1move != 0)
{//interval is finished
function bubble1()
{
clearInterval(bubble1move);
document.getElementById("img-bubble1").style.zIndex = "1";
bubble2move = setInterval(function() {bubble2()}, 2000);
}
}
if(bubble2move != 0)
{//interval is finished
function bubble2()
{
clearInterval(bubble2move)
var vBubble2 = document.getElementById("img-bubble2").style
vBubble2.zIndex = "1";
}
}
window.onload = function initialiser()
{
mover = setInterval(move, 1000);//initial time to animation
}
所有getElementByIds越來越包含圖像div標籤。
謝謝你的時間。
您的移動定義應該在if語句中嗎?嘗試在其他地方定義函數,並簡單地從if中調用它。 – agryson
你所有的語句終結者在哪裏? ';' –
謝謝agryson,那就是問題 – gaynorvader