В innerHTML входит всё внутреннее содержимое тега, включая внутренние теги.
Вырезая кусок этого содержимого (делая его невидимым, убирая из потока), могут остаться незакрытыми некоторые внутренние теги (что приведёт к перераспределению содержимого страницы, так и произошло, тег <p> остался незакрытым).
Функция sliceText() вставляет блочный контейнер div, поэтому "Судя" у вас осталось на своей строке, а скрытое содержимое потом отобразилось с новой строки.
Для данного примера решением может стать замена div на span в sliceText() и FullText(), но остающиеся незакрытые теги при применении sliceText() это всё равно проблема, поэтому надо искать другое решение.
|