Изменение определенного класа в зависимости от другого 
		
		
		
		Добрый день. Требуется совет. 
	Верстаю тренировочный сайтик: http://projects.wkornilow.org.ua/sommelier/ Суть такова. Есть первый блок "Бокал". В зависимости от типа бокала в следующем блоке "Тип" выбирается соответствующее значение "Аперетив, диджестив" и так далее. Так вот собственно вопрос. Каким образом можно реализовать функционал, чтобы в зависимости от выбранного типа бокала менялись (например выделялся один пункт з списка, а остальные становились неактивными). Прошу натолкните на путь истинный)  | 
	
		
 Я бы делал так: 
	
var glasses = [
{
aperitif = true,
hot = true,
milk = false
},{
aperitif = true,
hot = false,
milk = true
}];
now - получаете индекс текущего бокала glasses[now] - получите свойства для этого бокала, проходитесь по ним и проставляете классы для элементов в списках других блоков.  | 
	
		
 Цитата: 
	
  | 
	
		
 Мне бы были интересны разные варианты, так как только начинаю экспериментировать с JS после прочтения учебника. 
	 | 
	
		
 Также интересует вопрос, как определить какой именно в данный момент показывает слайдер. 
	 | 
	
		
 Цитата: 
	
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 
<style>
ul {
	display: inline-block;
	width: 200px;
}
.that {
	font-weight: bold;
}
.active {
	color: #333;
}
.unactive {
	color: #aaa;
}
</style>
<input type="button" id="change" value="сменить набор" /> <br />
<ul id="sets">
	<li class="that">первый бокал</li>
	<li>второй бокал</li>
	<li>третий бокал</li>
</ul>
<ul id="ingradients">
	<li id="aperitif" class="active">аперитив</li>
	<li id="hot" class="active">горячее</li>
	<li id="milk" class="unactive">молоко</li>
</ul>
<script>
var glasses = [
	{
		aperitif : true,
		hot : true,
		milk : false
	},{
		aperitif : true,
		hot : false,
		milk : true
	},{
		aperitif : false,
		hot : true,
		milk : false
	}
];
var now = 0;
document.getElementById('change').onclick = function() {
	if (++now > glasses.length -1) now = 0;
	document.getElementsByClassName('that')[0].className = '';
	document.getElementById('sets').getElementsByTagName('li')[now].className = 'that';
	var set = glasses[now];
	for (var key in set) {
		document.getElementById(key).className = (set[key] === true) ? 'active': 'unactive';
	}
}
</script>
 | 
	
		
 BETEPAH, спасибо за помощь. С этим все понятно. 
	Но все равно есть несколько вопрос (тапком прошу не бить;)). Вопрос 1: Выношу скрипт в отдельный *.js файл и подключаю его в header. При этом скрипт не работает. Я так понимаю что для правильной работы скрипта необходимо использовать window.onload. Я прав? Если нет, как добиться чтобы скрипт который я вынес в отдельный файл работал. Вопрос 2: Если вы переходили по ссылке, которую я размещал в 1 сообщении, там видно что есть 4 списка: 1) Тип бокала 2) Тип напитка 3) Количество градусов 4) Основа напитка В зависимости от выбранного бокала соответственно меняется 2, 3, 4 список. В приведенном Вами выше коде меняется только второй список. Насколько я понимаю сделать зависимость также для 3 и 4 списка, можно добавив в массив вложенные массивы, например так: 
var glasses = [
    {
        apperetive: true[{
            nonalcohol: false,
            lowdegree: true,
            middledegree: false,
            highdegree: true
        }],
        didjestive: false,
        hot: false,
        milk: false,
        desert: false,
        sloistie: false,
        deizi: false,
        dzuleti: false
    },
    {
        apperetive: false,
        didjestive: false,
        hot: false,
        milk: true,
        desert: false,
        sloistie: false,
        deizi: false,
        dzuleti: false
    },
    {
        apperetive: false,
        didjestive: false,
        hot: false,
        milk: false,
        desert: false,
        sloistie: false,
        deizi: false,
        dzuleti: true
    }
];
Скажите, так правильно реализовывать, или есть иной способ?  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 13:45. |