Показать сообщение отдельно
  #12 (permalink)  
Старый 06.03.2011, 22:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

печатная машинка и сохранение тегов
Вариант ... составляем масив текстовых нод, обнуляем их содержимое и востанавливаем по таймеру ... сохраняется любая вложенность тегов так как структура HTML остаёться неизменной
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
</head>
<body>
<div id="test">«На наш взгляд, <a href=''>иностранные военные</a> присутствия в Афг<b>анис<i>тане</i> могут</b> и должны предпринять более активные усилия в борьбе с наркопроизводством в этой стране, раз уж <i>они практически</i> взяли на себя ответственность за вопросы безопасности в Афганистане», - сказано в сообщении.</div>
<script language="JavaScript" type="text/javascript">
var textNodes = [];
var textNodes_data = [];
var i=0;
function search_textNodes(b) {
    b = b.childNodes;
    for (var c = 0, d = b.length; c < d; c++) {
        var a = b[c];
        if (a.nodeType == 3) {
            textNodes.push(a);
            textNodes_data.push(a.data);
            a.data = ""
        } else a.hasChildNodes() && search_textNodes(a)
    }
};
var d = document.getElementById('test');
search_textNodes(d);
function str_write() {
    var a = textNodes_data[i];
    if (a) {
        textNodes[i].data += a.charAt(0);
        textNodes_data[i] = a.substr(1)
    } else i++;
    i < textNodes.length && setTimeout(arguments.callee, 100)
};
str_write()
</script>
</body>
</html>

Последний раз редактировалось рони, 18.04.2017 в 18:22.
Ответить с цитированием