Witam,
Dopiero raczkuję w temacie JS, ale nadeszła potrzeba na stworzenie rozwijanego Menu na portalu i nie do końca mogę sobie poradzić.
Menu jest jako tabela (i tak być musi), domyślnie CSSem komórki 2,3,4 i 5 kolumny są ukryte display:none; i za pomocą wywołania funkcji chciałbym, aby się pokazywały. Poniższy skrypt działa, jeśli stosuję w funkcji zapis document.getElementById(obj) i wtedy rozwija jedną komórkę, która ma przypisane odpowiednie ID. Co chcę osiągnąć, to zastosować document.getElementsByClassName(obj), ażebym mógł wywołując funkcję zwinąć wszystkie komórki, mające przypisanie do danej klasy.
<script language="javascript" type="text/javascript">
function expandSidemenu(obj) {
var sidemenu = document.getElementsByClassName(obj)
if ( sidemenu.style.display != "block" )
{
sidemenu.style.display = 'block';
sidemenu.style.display = 'block';
}
else
{
sidemenu.style.display = 'none';
sidemenu.style.display = 'none';
}
}
</script>
Domyślam się, że problem leży w getElementsByClassName(obj), czyli ten obj może przetrzymywać tylko jeden element, natomiast pobierając klasą musiałby przetrzymywać ich kilka. Jak wybrnąć z tej sytuacji, żeby można było odwoływać się po funkcji?