2012-03-21 46 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});}); 
}