Показать сообщение отдельно
  #4 (permalink)  
Старый 26.06.2012, 00:34
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

самое простое - разбить задачу на две функции. первая режет строку на части (одна часть - строка, до перевода строки) и потом сразу вызывает вторую, вторая - выводит текст на страницу.

дальше уже испоьлзовать в любой момент первую функцию - хоть по клику, хоть по таймауту.
<body><h1>СТИХЪ</h1></body>
<script>
var str = "РАЗ <br> ДВА <br> ТРИ";

// чтобы не использовать трюки вроде замыкания,
// я просто оставлю переменные в ГО.
var splitted, i, delimiter = "<br>";

function split(string) {
    // первый запуск
    if (splitted === undefined) {
        splitted = string.split(delimiter);
        i = 0;
    }
    if (i in splitted) {
        render(splitted[i]);
        i += 1;
        // даём понять, что всё хорошо
        return true;
    } else {
        // всё, конец.
        return false;
    }
}

// вывод текста на страницу. тут анимации всякие.
function render(string) {
    document.body.innerHTML += "<p>" + string + "</p>";
}

var id = setInterval(function(){
    if (!split(str)) {
        clearInterval(id);
    }
}, 1000);
</script>
Ответить с цитированием