привет, мне просто интересно, есть ли способ получить входное значение, чтобы изменить / использовать его для healLevel = 70%, я попробую, но я новичок в этом и потерпел неудачу.
(function() {
var checkbox1 = document.getElementById("cb1");
var checkbox2 = document.getElementById("cb2");
heal = document.getElementsByClassName('hud-shop-item')[10];
petHeal = document.getElementsByClassName('hud-shop-item')[11];
useHeal = document.getElementsByClassName('hud-toolbar-item')[4];
usePetHeal = document.getElementsByClassName('hud-toolbar-item')[5];
healthBar = document.getElementsByClassName('hud-health-bar-inner')[0];
up = new Event('mouseup');
healLevel = 70;
HEAL1 = function() {
if (checkbox1.checked) {
heal.attributes.class.value = 'hud-shop-item';
useHeal.dispatchEvent(up);
heal.click();
}
};
HEAL2 = function() {
if (checkbox2.checked) {
petHeal.attributes.class.value = 'hud-shop-item';
usePetHeal.dispatchEvent(up);
petHeal.click();
}
};
script = function(e) {
if (e.keyCode == 82) {
HEAL1();
HEAL2();
}
};
document.addEventListener('keydown', function(e) {
script(e);
});
observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutationRecord) {
if (parseInt(mutations[0].target.style.width) < healLevel) {
HEAL1();
HEAL2();
}
});
});
observer.observe(healthBar, {
attributes: true,
attributeFilter: ['style']
});
})();<input type = "number" min = "1" max = "100" value = "70">это то, что я пробовал, но не видел, чтобы сработали какие-либо идеи, почему я потерпел неудачу? я пробовал использовать document.querySelector, что я делаю не так?
(function() {
var checkbox1 = document.getElementById("cb1");
var checkbox2 = document.getElementById("cb2");
var elem = document.querySelector('input[type = "number"]');
heal = document.getElementsByClassName('hud-shop-item')[10];
petHeal = document.getElementsByClassName('hud-shop-item')[11];
useHeal = document.getElementsByClassName('hud-toolbar-item')[4];
usePetHeal = document.getElementsByClassName('hud-toolbar-item')[5];
healthBar = document.getElementsByClassName('hud-health-bar-inner')[0];
up = new Event('mouseup');
healLevel = elem.value;
<input type = "number" min = "1" max = "100" value = "70">


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


HTML
<input type = "number" min = "1" max = "100" value = "70" id = "healRate" onchange = "updateHealLevel()">
JS
var healLevel = document.getElementById("healRate").value;
function updateHealLevel(){
healLevel = document.getElementById("healRate").value;
}
РЕДАКТИРОВАТЬ
Обновлено, чтобы изменение входного значения обновляло healLevel.
Чтобы значение изменилось с вводом, вы должны просто добавить событие onchange в компонент HTML, чтобы при изменении пользователем этого ввода запускался код, который обновит healLevel.
@crowfish Я обновил свой ответ, и это должно сработать для вас.
Большое спасибо, это просто желание, которое мне нужно! и работает
@crowfish Совсем не беспокойтесь, рад, что это помогло!
работает, но не обновляется, если я изменяю значение на входе? кстати спасибо за помощь!