[英]Javascript doesn't wait for STRIPE.COM function to finish before executing next line
[英]Javascript doesn't wait for function to finish before executing next line
我正在做一个非常简单的图像更改,假设要淡出当前图像,更改图像的src,然后淡入图像。 这是基本代码...
$("#picViewer").fadeOut("slow");
document.getElementById("picViewer").src = "myImage.jpg";
$("#picViewer").fadeIn("slow");
代替 ...
Javascript不等待淡出完成,这就是您所看到的...
我想念什么吗? 另外还有一个好处,... JQuery
允许我淡化为白色以外的其他颜色,或者我必须雇用典型的黑客来解决这种情况?
.fadeOut
接受回调。 淡出之后,您可以放置任何想要发生的事情。
回调函数还提供了this
功能,使之淡出。 您可以重复使用this
而不必再次使用元素的id
,以避免在多个位置硬编码元素的id
。
另外,您可以链接jQuery函数调用。 由于attr()
返回修改后的对象( $(this)
),因此可以链接.fadeIn()
以淡入该相同的元素。
$("#picViewer").fadeOut("slow", function() {
$(this).attr('src','myImage.jpg').fadeIn("slow");
});
实际上,代码更少。
fadeOut
的可选第二个参数是一个回调函数,它将在元素淡出后被调用。
$("#picViewer").fadeOut("slow", function() {
document.getElementById("picViewer").src = "myImage.jpg";
$("#picViewer").fadeIn("slow");
});
尝试:
$("#picViewer").fadeOut("slow", function(){
document.getElementById("picViewer").src = "myImage.jpg";
$("#picViewer").fadeIn("slow");
});
动画是异步发生的,因此您要做的是使用animation方法的回调:
$("#picViewer").fadeOut('slow', function () {
//change image src
//fadeIn
...
如果用淡色表示CSS颜色,则除非使用CSS3过渡,否则必须使用jQuery UI(或其他插件)为颜色变化设置动画。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.