Чтобы кратко описать предполагаемый дизайн: я хочу, чтобы навигационное меню, которое наводило, показывало контент. Но я также ищу гибкость и простоту. Поскольку каждый элемент nav ведет себя одинаково, я полагаю, что javascript и css могут быть записаны один раз с переменными, которые идентифицируют каждый элемент nav. До сих пор я использовал несколько разных подходов, но для меня лучше всего работало. Следует признать, что это болезненно избыточное:консолидировать javascript - навигация для отображения содержимого
<div id="leftColumn">
<div id="nav1"
onmouseover="
document.getElementById('nav1').style.backgroundColor = 'black';
document.getElementById('nav1').style.color = 'white';
document.getElementById('content1').style.display = 'block';"
onmouseout="
document.getElementById('content1').style.display = 'none';
document.getElementById('nav1').style.color = 'black';
document.getElementById('nav1').style.backgroundColor = 'white';">
DECONSTRUCTIONS
</div>
<div id="nav2"
onmouseover="
document.getElementById('nav2').style.backgroundColor = 'black';
document.getElementById('nav2').style.color = 'white';
document.getElementById('content2').style.display = 'block';"
onmouseout="
document.getElementById('content2').style.display = 'none';
document.getElementById('nav2').style.color = 'black';
document.getElementById('nav2').style.backgroundColor = 'white';">
CONSTRUCTIONS
</div>
<div id="nav3"
onmouseover="
document.getElementById('nav3').style.backgroundColor = 'black';
document.getElementById('nav3').style.color = 'white';
document.getElementById('content3').style.display = 'block';"
onmouseout="
document.getElementById('content3').style.display = 'none';
document.getElementById('nav3').style.color = 'black';
document.getElementById('nav3').style.backgroundColor = 'white';">
OBSERVATIONS
</div>
</div>
<div id="rightColumn">
<div id="content1">deconstructions are...</div>
<div id="content2">constructions are...</div>
<div id="content3">observations are...</div>
</div>
И релевантные (также избыточный) CSS:
#nav1 {padding-left:25px; width:200px; line-height:150%; background-color:white;}
#nav2 {padding-left:25px; width:200px; line-height:150%; background-color:white;}
#nav3 {padding-left:25px; width:200px; line-height:150%; background-color:white;}
#content1 {display:none;}
#content2 {display:none;}
#content3 {display:none;}
Повторится, я хочу, чтобы все было как можно более простыми, но гибкий для последующего редактирования - для добавление будущих элементов навигации и соответствующего содержимого. Я искал решения и пробовал другие подходы, но каждый раз javascript/jQuery быстро становится сложным и превосходит мои способности понимать и модифицировать по своему вкусу. Любые советы, советы, решения, объяснения, ресурсы ... будут высоко оценены. Благодаря!
отлично, спасибо. и спасибо за объяснение, очень полезно. – jkahna