Я знаю, что это должно быть легко ... но я все еще изучаю JS:)
этот код работает нормально, но в настоящее время мне придется повторить это примерно 20 раз, просто изменив объект L50C и xp_50...
let L50C = document.getElementById('lvl50');
chrome.storage.sync.get('L50color', function(data) {L50C.setAttribute('value', data.L50color);
});
let L60C = document.getElementById('xp_60');
chrome.storage.sync.get('L60color', function(data) {L60C.setAttribute('value', data.L60color);
});
L40C.onchange = function(element) {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.insertCSS(
tabs[0].id,
{code: ".xp_40 {border: 1px solid " + element.target.value + " !important;} .xp_40 .icon {color: " + element.target.value + " !important;}"});
});
};
L50C.onchange = function(element) {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.insertCSS(
tabs[0].id,
{code: ".xp_50 {border: 1px solid " + element.target.value + " !important;} .xp_50 .icon {color: " + element.target.value + " !important;}"});
});
};
(я использую # 60 для проверки), так что ... если я изменю id = "xp_60" следующим образом ...
<div class="lvl_inp_cont">Level 60: <input id="xp_60" type="text" class="lvl_input" maxlength="7"></div>
могу ли я позвонитьфункция для повторения ... вот так:
L60C.onchange = swap(element);
function swap(element) {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.insertCSS(
tabs[0].id,
{code: "." + element.id + " {border: 1px solid " + element.target.value + " !important;} ." + element.id + " .icon {color: " + element.target.value + " !important;}"});
});
};
видите, чтобы вместо всего этого кода я мог просто установить для него один повторно используемый код?Я чувствую, что функция подкачки выглядит правильно (если нет, я не могу это исправить) - просто как мне "вызвать" или установить onchange для этой функции?
Спасибо !!
РЕДАКТИРОВАТЬ:я рядом?
const obj = {L40C, L50C, L60C, L70C};
for(let num = 40; num < 150; num+=10) {
let obj['L' + num + 'C'] = document.getElementById('xp_' + num);
}