Всем добрый день.
Возможно кто-то сможет помочь в оптимизации и сокращении данного, мягко говоря не лучшего, кода?
Суть данного кода такая, что существует 4 кнопки и соответственно 4 блока, которые открываются по нажатию каждой из кнопок. Класс active подсвечивает активную кнопку. При клике на другую кнопку должен открываться другой блок и подсвечиваться нажатая кнопка.
function showhide(id, id_block) {
var e = document.getElementById(id);
if(id == 'text-source-1')
{
$(".menu-source li").removeClass('active');
document.getElementById('text-source-2').style.display='none';
document.getElementById('text-source-3').style.display='none';
document.getElementById('text-source-4').style.display='none';
}
if(id == 'text-source-2')
{
$(".menu-source li").removeClass('active');
document.getElementById('text-source-1').style.display='none';
document.getElementById('text-source-3').style.display='none';
document.getElementById('text-source-4').style.display='none';
}
if(id == 'text-source-3')
{
$(".menu-source li").removeClass('active');
document.getElementById('text-source-1').style.display='none';
document.getElementById('text-source-2').style.display='none';
document.getElementById('text-source-4').style.display='none';
}
if(id == 'text-source-4')
{
$(".menu-source li").removeClass('active');
document.getElementById('text-source-1').style.display='none';
document.getElementById('text-source-3').style.display='none';
document.getElementById('text-source-2').style.display='none';
}
var b = document.getElementById(id_block);
e.style.display = (e.style.display == 'block') ? '' : 'block';
if(b.classList.contains('active')){
b.classList.remove('active'); }
else {
b.classList.add('active');}
}