Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.06.2016, 12:46
Интересующийся
Отправить личное сообщение для Vor_tex Посмотреть профиль Найти все сообщения от Vor_tex
 
Регистрация: 08.04.2015
Сообщений: 23

Изменнение значения в нескольких переменных при клике по кнопке
Использовал изначально код найденный в данном форуме, преобразовал его под себя, выполнил часть задуманного (делаю-учусь калькулятор талантов для одной игры, но главная часть научиться).

Но теперь нужно сделать так чтобы изменяя значения переменной 'strong' (кликая по кнопке) изменялось и значение переменной 'meleedmg' при этом если начать изменение переменной meleedmg с помощью кнопок для этой переменной то увеличение шло с учетом ранее измененного значения, т.е. при нажатии кнопки "+" strong было увеличено до 10 то и meleedmg увеличилось до 10, но когда начинаешь увеличивать кнопкой "+" присвоенной для meleedmg увеличение шло уже от 10 а не от базового 2!
Вот исполняемая функция:
function change(a, id) {
	var ostlvlpoint = +(document.getElementById('ostlvlpoint').value);
	var ostperkpoint = +(document.getElementById('ostperkpoint').value);
	// Распределение доступных очков уровня
	var val = parseInt(document.getElementById(id).value);
	// Условие для увеличения параметров уровня
    if (a == 'up') {
	if (val > 0 && val < 20 && ostlvlpoint > 0)
	        document.getElementById(id).value = val + 1;
	}
	
	// Условие для увеличения уровня
	else if (a == 'lvlup'){
		if (val < 40)
	        document.getElementById(id).value = val + 1;
	}
	// Услови увеличения значений навыка
    if (a == 'perkup') {
	if (val > 0 && val < 99 && ostperkpoint > 0)	
	        document.getElementById(id).value = val + 1;
	}
	
	// Условие для уменьшения параметров уровня
    else if (a == 'down') {
	if (val > 2)
            document.getElementById(id).value = val - 1;
    }
	// Условие для уменьшение уровня
	else if (a == 'lvldown'){
	if (val > 0 && ostlvlpoint > 0)
            document.getElementById(id).value = val - 1;
	}
	// Условие для уменьшения значений навыка
	else if (a == 'perkdown') {
	if (val > 2)
            document.getElementById(id).value = val - 1;
    }
	
	// Получение значений параметров уровня
	var strong = +(document.getElementById('strong').value);
	var dexterity = +(document.getElementById('dexterity').value);
	var endurance = +(document.getElementById('endurance').value);
	var intelligence = +(document.getElementById('intelligence').value);
	var technology = +(document.getElementById('technology').value);
	var luck = +(document.getElementById('luck').value);
	
	// Получение значения уровня
	var lvl = +(document.getElementById('lvl').value);
	
	// Калькуляция значений доступных очков уровня
	var lvlpoint = lvl + 30;
	var ostlvlpoint = lvlpoint - strong - dexterity - endurance - intelligence - technology - luck;
	document.getElementById('ostlvlpoint').value = ostlvlpoint;
	
	// Калькуляция очков навыков Силы
	var meleedmg = +(document.getElementById('meleedmg').value);
	var coldsteelarms = +(document.getElementById('coldsteelarms').value);
	var heavyarms = +(document.getElementById('heavyarms').value);

	// Калькуляция очков навыков Ловкости
	var lightarms = +(document.getElementById('lightarms').value);
	var theft = +(document.getElementById('theft').value);
	var throwing = +(document.getElementById('throwing').value);
	
	// Калькуляция очков навыков Выносливости
	var travel = +(document.getElementById('travel').value);
	var heavyarmor = +(document.getElementById('heavyarmor').value);
	var middlearms = +(document.getElementById('middlearms').value);
	
	// Калькуляция очков навыков Интелекта
	var trading = +(document.getElementById('trading').value);
	var medicine = +(document.getElementById('medicine').value);
	var oratory = +(document.getElementById('oratory').value);
	
	// Калькуляция очков навыков Технологии
	var techweapon = +(document.getElementById('techweapon').value);
	var mastery = +(document.getElementById('mastery').value);
	var science = +(document.getElementById('science').value);
	
	// Калькуляция очков навыков Удачи
	var lucky = +(document.getElementById('lucky').value);
	var camouflage = +(document.getElementById('camouflage').value);
	var traps = +(document.getElementById('traps').value);

	
	var perkpoint = lvl * (5 + intelligence * 2) + 9;
	var ostperkpoint = perkpoint - (meleedmg - 2) - (middlearms - 2) - (travel - 2) - (trading - 2) - (techweapon - 2) - (lucky - 2) - (coldsteelarms - 2) - (theft - 2) - (heavyarmor - 2) - (medicine - 2) - (mastery - 2) - (camouflage - 2) - (heavyarms - 2) - (throwing - 2) - (lightarms - 2) - (oratory - 2) - (science - 2) - (traps - 2);
	
	document.getElementById('ostperkpoint').value = ostperkpoint;
	
}

В работе глянуть можно тут: http://skies-calc.clan.su

Последний раз редактировалось Vor_tex, 07.06.2016 в 20:53.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
узнать значения всех переменных после загрузки friend Events/DOM/Window 3 30.12.2015 18:36
Проверка нескольких select на одинаковые значения emulexx Общие вопросы Javascript 6 07.04.2015 16:19
Записать в один input значения нескольких input -=fluffy=- Элементы интерфейса 2 17.04.2014 17:40
return значения сразу двух переменных ilmel Общие вопросы Javascript 2 17.08.2013 15:12
Подрузка контента из нескольких файлов по клику. MasterDmx Элементы интерфейса 4 01.07.2013 10:44