2010-10-25 155 views
1

我想把一個定時器放到我的畫廊輪播腳本上。這個計時器是一個循環的動畫gif。我希望它啓動時,一個新的圖像加載..重新啓動GIF動畫

我原以爲這會工作,但顯然不是。

// Loader needs to be a Global 
loader = new Image(); 
loader.id = "loader_graphic"; 
loader.src = "images/loader.gif"; 
var $container = $('#slider .imgs').cycle({ 
fx:  'scrollHorz', 
speed: 1000, 
timeout: 5000, 
before : function() { 
    resetLoader(); 
} 
}); 

function resetLoader() { 
$("#loader_graphic").remove(); 
$("#loader").append(loader); 
} 

有沒有人有任何解決這個問題的想法。如果這不起作用,有誰知道如何實現這種效果?

回答

0

也許你可以使用JavaScript的解決方法,但重新啓動是一個GIF圖像的選項,它會更簡單的修改它(與瘸子如。)。

1

您的JavaScript代碼不重新創建變量時,可能設置變量爲新創建的DOM元素將工作?

// Loader needs to be a Global 
var loader = newLoaderImage(); 

var $container = $('#slider .imgs').cycle({ 
    fx:  'scrollHorz', 
    speed: 1000, 
    timeout: 5000, 
    before : function() { 
    resetLoader(); 
    } 
}); 

function newLoaderImage() { 
    i = new Image(); 
    i.id = "loader_graphic"; 
    i.src = "images/loader.gif"; 
    return i; 
} 

function resetLoader() { 
    $("#loader_graphic").remove(); // or loader.remove(); 
    loader = newLoaderImage(); 
    $("#loader").append(loader); 
} 
0

一種方法可能是使用兩個圖像:一個gif動畫和靜態GIF圖片,展示了「停止」的動畫框架。

將它們放在同一個地方。加載圖像時,顯示動畫gif(可能使用visibility:visible;並隱藏已停止的圖像,使用visibility: hidden;。當需要停止動畫時,隱藏動畫gif並顯示已停止的圖像。