Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   разбить предложение на символы (https://javascript.ru/forum/misc/72853-razbit-predlozhenie-na-simvoly.html)

денис77447327 03.03.2018 02:26

разбить предложение на символы
 
есть предложение любое которое вставляется в текстовое поле на сайте при нажатии на кнопку предложение должно разбиваться на символы и показываться по центру экрана каждый символ с интервалом 1 секунда. с первого до последнего. как реализовать на js?

j0hnik 03.03.2018 02:45

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		div{
			font-size: 70px;
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			width: 100px;
			height: 100px;
			margin: auto;
		}
	</style>
</head>
<body>
	<input type="text"><button>start</button><div></div>
	<script>
		document.querySelector('button').onclick=e=>{
			var val = document.querySelector('input').value, i = 0
			setTimeout(function run() {
				document.querySelector('div').textContent = val[i]
				if(i++ < val.length)setTimeout(run, 1000);
			}, 1000);
		}
	</script>
</body>
</html>

laimas 03.03.2018 02:57

j0hnik, есть предложение, значит могут быть пробелы/переносы, а их наверное надо удалить.

j0hnik 03.03.2018 02:59

laimas,
Ключевое слово "наверное" :)

j0hnik 03.03.2018 03:03

но все же если нужно БЕЗ ПРОБЕЛОВ 24-ую строку заменить на
var val = document.querySelector('input').value.replace(/\s/g, ''), i = 0

laimas 03.03.2018 03:04

Цитата:

Сообщение от j0hnik
Ключевое слово "наверное"

Он же пишет "вставляется", а вставить можно и с переносами, и с табуляцией. И как это отобразить? Да и можно ли пробел считать символом?

j0hnik 03.03.2018 03:07

laimas,
пробел называют пустым символом, можно или нельзя вопрос больше философский

laimas 03.03.2018 03:09

Не до философии, все-таки видимо так /[\s\r\n\t]/g

j0hnik 03.03.2018 03:12

\s вроде эквивалентен
[ \f\n\r\t\v​\u00a0\u1680​\u180e\u2000​\u2001\u2002​\u2003\u2004​\u2005\u2006​\u2007\u2008​\u2009\u200a​\u2028\u2029​​\u202f\u205f​\u3000]

laimas 03.03.2018 03:15

Цитата:

Сообщение от j0hnik
\s вроде эквивалентен

Можно, конечно, но читабельность шаблона не очень и случайно снести его к чертовой матери из выражения как два ... )


Часовой пояс GMT +3, время: 03:33.