我正在尝试制作一个足够基本的页面,允许用户通过单击按钮来执行 php 脚本。每个按钮都会在单击时弹出一个加载微调器。
我的问题是,单击一个按钮然后单击另一个按钮时,两个旋转器都会同时关闭,即使第二个按钮可能仍在处理中。
有谁知道如何使这些旋转器真正异步?预先非常感谢,它杀了我。
JS:
function test(element){
var append = "#";
var test = append.concat(element);
document.getElementById(element).style.visibility='visible';
$.ajax({url:"test.php",success:function(result){
hide(element);
}
});
};
function hide(element){
document.getElementById(element).style.visibility='hidden';
};
</script>
HTML:
<html>
<?
$index = 0;
$myArray = array ("1", "2", "3", "4", "5");
for($index = 0; $index < 5; $index++){?>
<button onclick="test('<?echo $myArray [$index];?>')">Start</button>
<img id="<?echo $myArray [$index];?>" src="images/loader.gif"
style="visibility:hidden"/>
<br><br>
<?}?>
</html>
最佳答案
我会实现一个计数器。每次显示加载指示器时,将计数器加一,每次要隐藏它时,将计数器减一。然后监视计数器,每当它高于零时,就会显示加载指示器,当为零时,则隐藏它。有道理吗?
关于Javascript/AJAX 异步加载旋转器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16618706/