我显示一个加载微调器,在每次旋转设备后重新加载自定义pdf阅读器(在html 5中)。它在Android设备上运行良好,当我在桌面设备上模拟旋转时,但是在iPad上,我看不到微调器,就好像显示微调器/重新加载pdf阅读器/隐藏微调器的动作是在“一枪“。 我试图延迟pdf重新加载,直到显示微调器,但它是一样的。 以下是一系列行动:
window.onorientationchange = function() {
launchSpinnerThenRotate();
}
function launchSpinnerThenRotate(){
alert(" i'll launchSpinnerThenRotate");
showSpinner();
setTimeout(rotatePdfReader(),1000);
}
我已经尝试过js和jquery函数来显示/隐藏微调器总是具有相同的效果
function showSpinner(){
//$('#pdfReaderSpinner').css("visibility" , "visible");
document.getElementById('pdfReaderSpinner').style.visibility = "visible";
document.getElementById('pdfReaderSpinner').style.zIndex = 100000000;
}
我不认为问题出现在微调器中,我可以在第一次启动页面时正确显示它,但我必须在文档中显示微调器.ready function:
$(document).ready(function() {
var target = document.getElementById('loadingSpinner');
spinner = new Spinner({top: 0, left: 0,color:'red'}).spin(target);
showSpinner();
});
$(window).load(function(){
initPdfReader();
hideSpinner();
});
答案 0 :(得分:1)
更改此行:
setTimeout(rotatePdfReader(),1000);
到此:
setTimeout(rotatePdfReader,1000);
您希望将对函数的引用传递给setTimeout,以便在1秒内调用它。目前,您将函数的结果传递给setTimeout。