![](/img/trans.png)
[英]JavaScript: Prevent setInterval Function From Running Until Button is Clicked
[英]Javascript Prevent One Part of a Function From Running Until Other is Completed
我有一个用于重新加载 iframe 的函数,我希望它在重新加载 iframe 后而不是同时做更多的事情。
var heightArray = [];
function changeScroll() {
console.log(Number(heightArray[0]));
$('#vidList').contents().scrollTop(Number(heightArray[0]));
}
function changeVideo(source, title, desc) {
heightArray = [];
$("#current-video_html5_api").attr('src', source);
$(".vidTitle").html(title);
$(".vidDesc").html(desc);
document.getElementById('vidList').contentWindow.location.reload();
//Stuff I want to happen after ^ this happens
var vidListHeight = $('#vidList').contents().scrollTop();
heightArray.push(vidListHeight);
console.log(heightArray);
changeScroll();
}
我将如何去做,以便在document.getElementById('vidList').contentWindow.location.reload();
之后出现changeVideo()
中的所有document.getElementById('vidList').contentWindow.location.reload();
实际上发生在它之后。 换句话说,我如何让函数在运行下一个之前单独完成每件事(即首先清除 heightArray,然后更改curreent-video_html5_api
的源等)
您的所有代码都同步运行,而不是重新加载框架。
因此,在重新加载该帧后需要异步调用后,您需要调用需要运行的代码。
Frame 有您可以订阅的onload
事件:
document.getElementById('vidList').load = function() {
var vidListHeight = $('#vidList').contents().scrollTop();
heightArray.push(vidListHeight);
console.log(heightArray);
changeScroll();
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.