В CSS:Простой Javascript проблема - список не расширяется корректно
#divMainMenu ul {
list-style-type: none;
padding: 5px 0;
height:400px;
}
#divMainMenu li {
height: 17px;
margin: 3px 0;
padding: 14px 2px;
border: 1px solid #eee7cb;
background: url(../../Images/50pTransparent-20x20.png) repeat;
}
#divMainMenu li ul{
display: none;
}
HTML, и сценарий:
<script type="text/javascript">
function Show(pObj)
{
pObj = document.getElementById(pObj).id;
if (document.getElementById(pObj).style.display=='none')
document.getElementById(pObj).style.display='block';
else
document.getElementById(pObj).style.display='none';
}
</script>
<div id="divSidePanel">
<div id="divMainMenu">
<ul>
<li onclick="Show('Buyers')">Buyers
<ul id="Buyers" style="display:none;">
<li>Search</li>
<li>Submit request</li>
<li>Send message to owner</li>
</ul>
</li>
<li>Sellers</li>
<li>Contact Us</li>
</ul>
</div>
</div>
Проблема: Когда я щелкаю по тексту Покупатели, он показывает суб/вложенный список. Однако другие элементы не занимают места для вложенного списка. Таким образом, вложенный список записывается в пространство основного списка.
Это проблема с моим кодом или это стандартный способ работы? И есть ли способ, позволяющий другим предметам «нажимать», уступая место вложенным элементам?
Спасибо!
'PObj = document.getElementB yId (pObj) .id; '- эта линия делает меня facepalm. – ThiefMaster
В случае, если вам интересно, почему: Если элемент не существует, он выдает ошибку, если он существует, он не работает, так как он в значительной степени равен «pObj = pObj». Используйте «var elem = document.getElementById (pObj)», а затем «elem.style ...» в следующем коде. – ThiefMaster
@ThiefMaster Я не намерен поддерживать pObj таким образом. Это была незавершенная работа ... Во всяком случае, я попробовал и ваш метод, но не изменил никаких изменений. Также обратите внимание, что даже с pObj, когда я предупреждаю значение свойства display, он показывает «none». Так что технически это должно дать какой-то ответ. Кроме того, вместо того, чтобы говорить ** display = '' **, когда я пишу ** display = 'block' **, отображается список вложенных списков, но без расширений. – itsols