我有一个函数可以在 div 内的数据处理期间为进度条设置动画。进度条 div 位于 dataprocess.php(父页面)中,该过程在调用页面 generate.php 的 iframe 中完成。我在 dataprocess.php 中的进度条功能如下:-
function progressBar(percent, element)
{
var progressBarWidth = percent * ($(element).width()) / 100;
progressBarWidth = progressBarWidth-10;
$(element).find('div').animate({ width: progressBarWidth }, 5).html(percent + "% ");
}
dataprocess.php 页面中的 div:-
<div id="progressBar" class="default"><div></div></div>
在 generate.php(iframe) 内的 while 循环中,我调用 PHP 函数如下所示,以使父动画中的进度条:-
function progress($percent)
{
echo '<script type="text/javascript">
parent.progressBar('.$percent.', "#progressBar");
</script>';
}
进度条工作正常,但问题是当我的浏览器中有多个选项卡时。现在我在标签 1 中进行数据处理,这个过程大约需要 10-15 分钟。现在假设进度条比我决定转到另一个选项卡的 25%,这意味着选项卡 1 可能我可以说处于空闲状态。一段时间后,我单击返回选项卡 1。我可以看到百分比显示为 100%,但进度条继续从 25% 动画到 100%。该过程已经完成,但是如果我转到另一个选项卡,进度条会停止动画,并且只有在我返回数据处理选项卡时才能恢复。
谢谢。