2012-03-21 30 views
2
animImage('history_main_image.png'); 
function animImage(img) { 
    $('#slider').delay(3000).animate({opacity: 0}, 'slow', function(img) {$('#slider').css('background-image','url(images/' + img +')').animate({opacity: 1});}); 
} 

我已函數動畫在滑塊背景element.but它不work.when我檢查在鉻的檢查元件option.it輸出顯示背景圖像:圖像/未定義這個jquery動畫函數有什麼問題?

回答

4

您傳遞給animate()的回調需要img參數,並使用它來構建背景圖像的URL。這是行不通的,因爲animate()不會將任何參數傳遞給您的回調。

相反,您可以刪除該參數並使用最初傳遞給animImage()的參數img。該變量存在於呼叫者的範圍,因此將被捕獲並回調內部訪問:

function animImage(img) 
{ 
    $('#slider').delay(3000).animate({opacity: 0}, 'slow', function() { 
     $('#slider').css('background-image', 'url(images/' + img +')') 
        .animate({opacity: 1}); 
    }); 
} 
+0

哦,我去....它的作品!...這是那麼好...其實我正在使用我的php大腦在javascript !! ....非常感謝! – MaSK 2012-03-21 14:36:45

0
animImage('history_main_image.png'); 
function animImage(img) { 
    function myimg(){return img;} 
    $('#slider').delay(3000).animate({opacity: 0}, 'slow', function() {$('#slider').css('background-image','url(images/' + myimg() +')').animate({opacity: 1});}); 
}