Znalazłem ten kod do wykonania menu, który załamuje się, gdy użytkownik kliknie na znak minus na stronie. Ale menu pokazuje wszystkie zawartość w głównym elemencie, gdy pierwsze ładunki strony. Chciałbym, aby strona pokazała tylko główny przedmiot, gdy strona ładuje. To jest kod:

    <script langauge="JavaScript" type="text/javascript">
function doMenu(item) {
 obj=document.getElementById(item);
 col=document.getElementById("x" + item);
 if (obj.style.display=="none") {
  obj.style.display="block";
  col.innerHTML="[-]";
 }
 else {
  obj.style.display="none";
  col.innerHTML="[+]";
 }
}
</script>
</head>
<body>
<a href="JavaScript:doMenu('main');" id=xmain>[+]</a> Main Item
<div id=main style="margin-left:1em">
 <a href=#>Item 1</a><br>
 <a href=#>Item 2</a><br>
 <a href=#>Item 3</a>
</div>
<br>
</body>
</html>

Byłbym bardzo wdzięczny, gdyby ktoś mógłby mi pokazać, jak zmienić kod, aby to zrobić.

Dzięki

0
user1049553 29 listopad 2011, 02:16

3 odpowiedzi

Najlepsza odpowiedź
window.addEventListener('load', function(){
    document.getElementById('main').style.display = 'none';
}, false);
0
xandercoded 28 listopad 2011, 22:23

Zmiana:

<a href="JavaScript:doMenu('main');" id=xmain>

Do:

<a href="JavaScript:doMenu('main');" style="display: none;" id=xmain>

BTW, ponieważ pewna strona zauważa, że znaleziony kod nie jest zbyt dobry. Jeśli jest to przeznaczone jako profesjonalny projekt, nie użyję go.

Dla jednego zmieniłbym się:

obj.style.display="block";

Do:

obj.style.display="";

Aby uniknąć błędów w niektórych przeglądarkach.

0
Ariel 28 listopad 2011, 22:22

Myślę, że to się zmieniło

<div id=main style="margin-left:1em">

Do

<div id=main style="margin-left:1em; display:none">

Powinno działać.

0
Matthew Strawbridge 28 listopad 2011, 22:25