2012-09-16 55 views
0

我遇到了这个脚本的一些问题,我希望得到它的一些帮助,让它工作。首先,我淡出旧图像,然后加载在同一时间淡入的新图像。当我使用淡入淡出时,新图像不会被替换!?淡出,替换图像并褪色

$("#image2").click(function() { 
    $("#portfolio").fadeOut('slow', function() { 
     $("#portfolio").attr("src", "Images/Portfolio/portfolio_strv.jpg", function() { 
      $(this).fadeIn(400); 
     }); 
    }); 
}); 
+0

'.attr()'方法不需要三个参数。尝试'$(“#portfolio”)。attr(“src”,“Images/Portfolio/portfolio_strv.jpg”)。fadeIn(400)' – nnnnnn

+0

可能的重复[如何用jQuery刷新的src?](http ://stackoverflow.com/questions/1997901/how-to-refresh-the-src-of-img-with-jquery) – undefined

回答

2

您需要将图像的onload事件绑定,然后加载图像。

$("#image2").click(function() { 
    $("#portfolio").fadeOut('slow', function() { 
     $(this).load(function() { 
      $(this).fadeIn(400); 
     }).attr("src", "Images/Portfolio/portfolio_strv.jpg"); 
    }); 
}); 
3
$("#image2").click(function() { 
    $("#portfolio").fadeOut('slow', function() { 
     $(this) // this refers to #portfolio 
      .attr("src", "Images/Portfolio/portfolio_strv.jpg") // change src 
      .load(function() { 
       // after load complete 
       // fade in the image 
       $(this).fadeIn(400); 
     }); 
    }); 
});​