我想建立像倒计时一样的东西,但不是倒计时。我实际上是在学习,并且会感谢你指点我的任何方向。
我设法完成了这个工作代码:
function getSelectionHtml() {
var html = "";
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
var container = document.createElement("div");
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
container.appendChild(sel.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
}
} else if (typeof document.selection != "undefined") {
if (document.selection.type == "Text") {
html = document.selection.createRange().htmlText;
}
}
console.log(html);
// Split every word and separate them by a comma
var split = html.split(" ");
console.log(split);
confirm(split);
}
它的作用是,它获得一个选定/突出显示的数字并将它们呈现给读者。但我实际上想先用突出的数字来做它。
我希望它们能够一个接一个地显示在新的DIV中。假设我突出显示1到10,单击按钮后,Div标签应显示数字1,然后显示数字2,依此类推,直到我达到数字10。
有任何帮助吗?不幸的是我的jsfidle不工作,我不知道为什么。 提前谢谢。
编辑:我想通过添加:
var array = split;
console.log(array);
我可以将选择放入数组中。现在我必须弄清楚如何循环它们以在一个单独的新div中一个接一个地显示。
答案 0 :(得分:0)
您需要在循环中使用setTimeout
来输出数组。 Here is an example.
var out = document.getElementById('out');
function outputNext() {
out.innerHTML = split.pop();
if (split.length) {
setTimeout(outputNext, 1000);
}
}
outputNext();