Obawiam się, że ten skrypt to w ogóle nadaje się na śmietnik :/.
Od razu widać, że totalnie przeczy podstawowej zasadzie rozsądnego programowania: DRY. Poza tym, może troszkę za sprytnie używa rzeczy typu użycie operatora przypisania w warunki pętli while, a do tego jeszcze inkrementacja indeksu w tym samym wyrażeniu. I na pewno nazwa argumentu element jest bardzo zła. To nie jest element (obiekt DOM), tylko ID elementu (String).
Czemu to nie działa? To oczywiste. Na początku każdej z funkcji ukrywasz wszystkie elementy w dokumencie, które mają ID z literą m oraz liczbą począwszy od pewnej wartości w górę. Czyli: od pewnej liczby, do końca. A Ty chyba chcesz tylko ukryć elementy z pewnego zakresu, prawda? Tzn. w przypadku drugiej kolumny elementy m5-m9, a nie m5-[do końca].
Skoro liczbę elementów w menu masz zakodowaną na stałe, to możesz też użyć tej liczby i iterować się przez elementy o ID w pewnym zakresie. Naturalniejsze byłoby tu użycie pętli for zamiast while.
Takie zakodowane na stałe menu byłoby jednak nieelastyczne (teraz też jest).
Rozumiem, że funkcja musi schować wszystkie elementy z danej sekcji oprócz jednego? Lepiej byłoby, żeby np. funkcja dla pierwszej kolumny pobierała wszystkie elementy p znajdujące się w #menu1, iterowała się przez nie i ukrywała je (tak naprawdę, to #menu1 powinno być tagiem
, a poszczególne elementy , a nie
). Następnie pokazywany by był ten element do pokazania. Aha: i tam raczej nie powinno się zmieniać display na "inline", tylko na "block".
Powinieneś usunąć też duplikację. Zobacz, posiadasz trzy prawie takie same funkcje: menu1, menu2, menu3. Zamiast tego zrób jedną i daj tam dodatkowy parametr oznaczający numer kolumny. I wywołasz to nie menu1("m2"), tylko menu(1, m2). Wewnątrz funkcji możesz sobie obliczyć wartość i, mnożąc pierwszy parametr przez 5. Wiesz co? Ten parametr określający kolumnę w ogóle nie jest potrzebny. Wystarczy podać id elementu, który ma być pokazany. Do pozostałych można się łatwo dostać korzystając z metod i własności DOM. Jeśli masz element o id idElementu, to wszystkie elementy z danej kolumny możesz pobrać, wywołując document.getElementById(idElementu).parentNode.getElementsByTagName('p') (zdecydowanie należy rozbić to wyrażenie co najmniej na dwie instrukcje).
Co Ci mogę poradzić? Naucz się DOM i JavaScriptu, a jeśli ktoś ma to wszystko zrobić za Ciebie, to lepiej leć do działu Praca i daj za to jakieś rozsądne wynagrodzenie.