【问题标题】:JavaScript Loop return the current indexJavaScript 循环返回当前索引
【发布时间】:2016-06-09 00:24:13
【问题描述】:

我想做一个 PHP 邮件,并想用 JS 添加一个进度条。 所以我有一个电子邮件列表(textarea)(我的问题是进度条),这是代码:

<script type="text/javascript">
//to get every mail by line in textarea
var textarea = tt.replace("\r\n", "\n");
var textarea = textarea.replace("\r", "\n");
var textarea = textarea.split("\n");


var indice=0;
for(var i=0;i<count(textarea);i++){
var line = textarea[i];
var indice= indice+100/count(textarea);

$('#waiting').load('sent.php',{ln:line,indc:indice}, function(){
var finale = $('#waiting').text(); //return the current value of indice
$('#progressbar').css({ "width" : finale+"%"});
setTimeout('#waiting', 1000);
});
}
</script>

例如,如果我有一个包含 4 行的列表 = 100/4 = 25。所以在每个循环中它都会发送当前索引,第一个索引 25% 秒 (25+100/4=50%)... 100 %。 我的问题:循环是否直接打印最终索引= 100%,她不会在每个循环中返回当前索引,当我添加计时器时它不起作用......我的功能有问题我需要请为我的进度条提供帮助:) 我的进度条需要快速获取每个循环中的每个索引,请逐个获取我需要帮助

【问题讨论】:

    标签: javascript jquery progress-bar


    【解决方案1】:

    那是因为

    var indice=0;
    

    在循环外贴花,你仍然在循环内再次定义

    var indice= indice+100/count(textarea);
    

    试试

    indice= indice+100/count(textarea);
    

    这可能会解决问题。 问候

    【讨论】:

    • 循环仍然只返回最终索引,而不是每个循环的每个索引,所以当我点击按钮时,我的进度条直接进入 100%。而不是打印每个当前索引并等待 1000ms 传递给另一个索引.... :(
    • 能否请您设置小提琴,以便我看看问题?
    • 在开始索引 =0。例如,列表内容为 4line,因此循环转 4 次。第一次:0+100/4=25。我将这个值“25”发送到发送页面,如果一切正常,发送页面返回这个值,所以如果一切正常,它将返回25,进度条将转到25%,第二次indice = 25 = 25 +100/4=50,..... 直到 100% 还是这样。问题是我的代码不会等待向您显示每个循环的每个索引,它会直接向您显示 100% 的最终索引,当我添加一个计时器时它不起作用:( ...我需要帮助我的进步酒吧
    • 拜托我需要帮助,如果有人知道我如何可以一个一个地打印每个循环索引,而不是直接打印最后一个,请使用计时器或任何东西来停止此功能的想法
    猜你喜欢
    • 2020-01-23
    • 2011-06-02
    • 2020-09-30
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2017-09-17
    相关资源
    最近更新 更多