我把下面提到的脚本放在一起。它不会输出最后一个源的最后一个字符。我不太关心js,这就是我问你的原因。有谁能给我一个线索?
function jtype(source, step){
var str = source, i = 0, isTag, text, all = "", ii = 0, totallength = 0;
for(ii = 1; ii < step; ii++){
all = all + $("#source-" + ii).val();
}
(function type() {
text = str.slice(0, ++i);
if (text === str) return;
$(".steps").html(all + text);
var char = text.slice(-1);
if( char === '<' ) isTag = true;
if( char === '>' ) isTag = false;
if (isTag) return type();
setTimeout(type, 20);
}());
}
这是一个示例数据源:
<input type="hidden" class="sources" id="source-1" value="Gesetzliche Zinsen gebühren kraft Gesetzes. ">
<input type="hidden" class="sources" id="source-2" value="Der gesetzliche Zinssatz beträgt nach <a href="#" onclick="dofadein('#norm330')">§ 1000 Abs 1 ABGB</a> 4 Prozentpunkte pro Jahr. ">
<input type="hidden" class="sources" id="source-3" value="Gesetzliche Zinsen sind insb die sog Verzugszinsen nach <a href="#" onclick="dofadein('#norm430')">§ 1333 ABGB</a>.">
在这个例子中,它不会在#source-3的末尾输出点。 当我在函数jtype()中发出警告(源)时,点不会丢失。
我想知道的另一件事是。我该如何确定输出的结束。我的意思是:我怎样才能确定循环是否结束并且输出了最后一个字符?
非常感谢你的帮助,请原谅我的英语不好。