0

我想构建类似倒计时的东西,但不是倒计时。我实际上是在学习,如果你能指出我的任何方向,我将不胜感激。

我设法完成了这个工作代码:

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 不工作,我不知道为什么。先感谢您。

http://jsfiddle.net/X9aPj/

编辑:我通过添加:

    var array = split;
    console.log(array);

我可以将选择项放入一个数组中。现在我必须弄清楚如何循环它们以在单独的新 div 中一个接一个地显示。

4

1 回答 1

0

您将需要setTimeout在循环中使用来输出数组。这是一个例子。

var out = document.getElementById('out');
function outputNext() {
    out.innerHTML = split.pop();
    if (split.length) {
        setTimeout(outputNext, 1000);
    }
}
outputNext();
于 2013-11-06T03:42:28.003 回答