繁体   English   中英

这个jquery动画功能怎么了?

[英]What's wrong with this jquery animation function?

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});});
}

我已经使其功能可以对滑块元素中的背景进行动画处理。但是它不起作用。当我在chrome的inspect元素选项中检查输出时,它显示了background-image:images / undefined

传递给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});
    });
}
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});});
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM