Есть простой код: http://jsbin.com/yulaturibe/edit?html,js,console,output
JS
// Функция отрисовки
function Draw(val1, val2) {
var Header = '<div id="left">'+val1+'</div><div id="right">'+val2+'</div>';
return Header;
}
var val1 = 1;
var val2 = 5;
document.getElementById('text').innerHTML=Draw(val1, val2);
// Функция добавления
left.onclick = function() {
console.log(val1);
val1++;
return val1;
};
HTML из 1 строки:
<div id="text"></div>
Вопроса 2:
Почему обновлённое значение val1 не отображается на странице, но в консоли увеличивается? И как сделать так что бы увеличивалось на странице?
Как в данном случае переписать скрипт что бы избавится от глобальных переменных val1 и val2?
Не изменяется потому что вы не изменяете innerHTML по клику.
Вот так, например.
function draw() {
var val1 = 1;
var val2 = 5;
var Header = '<div id="left">' + val1 + '</div><div id="right">' + val2 + '</div>';
document.getElementById('text').innerHTML = Header;
document.getElementById('left').onclick = function() {
val1++;
var Header = '<div id="left">' + val1 + '</div><div id="right">' + val2 + '</div>';
document.getElementById('text').innerHTML = Header;
console.log(val1);
return val1;
};
}
draw();
<div id="left">
<div id="text"></div>
</div>
Отработка только по нажатию на left и меньший по объему код. На left каждый раз надо заново вешать onclick потому что мы перезаписываем left и onclick пропадает
function draw() {
var val1 = 1;
var val2 = 5;
var text = document.getElementById('text');
text.innerHTML = '<div id="left">' + val1 + '</div><div id="right">' + val2 + '</div>';
document.getElementById('left').onclick = leftPlusNum;
function leftPlusNum() {
val1++;
text.innerHTML = '<div id="left">' + val1 + '</div><div id="right">' + val2 + '</div>';
document.getElementById('left').onclick = leftPlusNum;
};
}
draw();
<div id="text"></div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как преобразовать номер телефона к виду 8999999999, сейчас вид такой +7(344) 444-44-44Сделала из него такой +73444444444 следующим образом:
Работает правильно, но что происходит? Как работает строчка где var total_days = вообще не понимаю, узнать дату на 32-й день?