У меня есть функция, которая генерирует случайный цвет RGBA, и если я зарегистрирую ее на консоли, она округляется до десятичной точки (это то, что я хочу), но если вы откроете консоль и попробовать это как встроенный атрибут стиля для элемента body, вы можете видеть, что он не округляется до одного десятичного места? В чем проблема ?JavaScript округление до 1 десятичного знака в атрибуте встроенного стиля
setInterval(function foo(){
document.body.style.backgroundColor = ("rgba(" + Math.round(Math.random() * 255) + "," + Math.round(Math.random() * 255) + "," + Math.round(Math.random() * 255) + "," + Math.random().toFixed(1)) + ")";
},1000);
JS
setInterval(function foo(){
console.log(("rgba(" + Math.round(Math.random() * 255) + "," + Math.round(Math.random() * 255) + "," + Math.round(Math.random() * 255) + "," + Math.random().toFixed(1)) + ")");
},1000);
Если сравнить эти два скрипках вы можете увидеть difference.So почему они отличаются? Это же функция, и она должна быть такой же, верно?
Каким образом я могу преобразовать это в одном десятичный в браузере? Является ли это возможным ? – user3448600
Это, к сожалению, невозможно, поскольку разрешение альфа-канала не позволяет этого. Однако имейте в виду, что вы не должны считывать значения из DOM, так как нет никакой гарантии, что вы получите то же самое, что было установлено. Например, установив «rgb (255, 255, 255)», браузер может сообщить об ошибке rgba или «#FFFFFF» или даже «белый». Вы должны хранить установленные значения где-нибудь в своем приложении. – Zenorbi