#javascript #шрифты
Дана задача: Запросить у пользователя число от 1 до 10. Вывести его на страницу прописью
10 раз в столбик, увеличивая размер шрифта на 6 пунктов.
Вот pastebin как я пытался её решить. https://pastebin.com/2gZrBLmX.
Помогите пожалуйста!
num = prompt('Enter number from 1 to 10')
if ((num > 10) || (num < 1)) {
alert('Error. Type number from 1 to 10')
} else {
for (var q = 1; q <= 10; q++) {
document.write("" + num)
for (var y = 1; y <= 10; y++) {
document.getElementById('res' + y).style.fontSize = fontSize + "50px";
}
}
}
body {
position: absolute;
width: 100%;
top: 40%;
text-align: center;
}
Ответы
Ответ 1
Вообщем-то у вас хороший код, только в этой строчке вам нужно додумать логику document.getElementById( 'res' + y).style.fontSize = fontSize + "50px"; Вам нужно завести переменную на размер шрифта, в каждой итерации цикла её увеличивать, и потом делать fontSize+"px". Кроме того возможно ваши два цикла объединить в один. Для этого, например можно задавать стили inline, например .Ответ 2
Размер шрифта можно получить с помощью getComputedStyle() Ну а далее я бы сделал так : var num = prompt('Enter number from 1 to 10'); var size = parseFloat(window.getComputedStyle(document.body, null).getPropertyValue('font-size')); if (num > 10 || num < 1) { alert('Error. Type number from 1 to 10'); } else { for (var i = 1; i <= 10; i++) { var div = document.createElement('div'); div.innerText = num; div.style.fontSize = size + 'px'; document.body.append(div); size += 5; } }Ответ 3
Приветствую. JS для решения данной задачи не нужен. CSS (SCSS) достаточно. Если по какой-то причине препроцессор не используется (не верю), тогда можно воспользоваться переменными css или, в крайнем случае, скопировать выход после sass-а: .preview { @for $i from 1 through 10 { > div:nth-child(#{$i}) { font-size: 1px * $i * 6; } } } https://codepen.io/rasdaniil/pen/KZNgyPОтвет 4
К сожалению, у меня не работает с window.getComputedStyle, хоть и на сайте всё показывает... var num = prompt('Enter number from 1 to 10'); var size = parseFloat(window.getComputedStyle(document.body, null).getPropertyValue('font-size')); if (num > 10 || num < 1) { alert('Error. Type number from 1 to 10'); } else { for (var i = 1; i <= 10; i++) { var div = document.createElement('div'); div.innerText = num; div.style.fontSize = size + 'px'; document.body.append(div); size += 5; } }
Комментариев нет:
Отправить комментарий