Menü per Js ein bzw ausblenden

Okay, der letzte Versuch meinerseits. Hier der Link zu einem leicht abgewandelten Projekt von mir, das jetzt im Prinzip genau das macht, was du willst. Mehr werde ich dir nicht helfen. Ich empfele dir einfach mal soviel JavaScript zu lernen, dass du jedes Zeile Verstehst (inklusive derer in der cookie.js und der countElement.js). Nur so kannst du das Script an deine Bedurfnisse anpassen. Das meiste an Erklärung hab ich sowieso schon früher oder später in diesem Thread gebracht. Soviel von meiner Seite dazu.
 
Zuletzt bearbeitet:
Hi

also habe das nun eingebaut deien Code so wie es bei dir ist.

Nur leider wird bei dir ein # hintendran gemacht udn da ich denn link ja per javascript aufrufe wird dies ja nciht hinten dran gesetzt. Nun funktioniert das ganze mit denn cookies nicht aber wenn ich von hand die # hinmache udn dann einklappe usw. geht es. Nur leider wenn ich dan die seite mit f5 aktualisiere ist es wieder weg, aber wen ich bei der adressleiset enterdrücke bleibt es.


Edit1:
Hi habe eben deinen Kompletten code bei mir eingefügt mit den .js dateien. Das erste was mir auffält ist das drotz aktiviertem js des was normal ausgeblendet sein soll eingeblendet ist. Kann es vielleicht drann liegen das ich xhtml 1.0 tradionell verwende?
 
Zuletzt bearbeitet:
Ich kann nur sagen bei mir funktioniert es in allen gängigen Browsern (IE, Netscape, Opera, Mozilla/Thunderbird) perfekt. Der Fehler muss also an deinem Ende zu finden sein.
Den Doctype "xhtml 1.0 traditionell" gibt es nicht du meinst "xhtml 1.0 transitional".

Egal, versuchs alternativ mal mit
HTML:
<a href="javascript:swap('2')" id="Link2"></a>
statt mit
HTML:
<a href="#" onClick="swap('2')" id="Link2"></a>
 
Zuletzt bearbeitet:
:offtopic:

Vielleicht könnten wir im Forum einen Patch/Hack einbauen, das das Telefon bei
*hüstelSVEN* *hüstelMintel*
klingelt wenn im JS Forum ein Beitrag veröffentlicht wurde... :)

Ich bräuchte dazu ganz dringend mal die Telefonnummer - den Rest bekommen wir schon hingebogen!

Und jetzt stell ich mich in die Ecke und schäme mich für dieses Offtopic...
 
:offtopic:²

Da könnten wir auch gleich noch den patentierten Sven-Ein-Bier-Ausgeb-O-Mat dranstöpseln,
damit er für seine Arbeit auch ordentlich entlohnt wird....

....obowhl, dann würd er dauerbreit bei sich zu Hause rumhocken und käm bald
nicht mehr zum Arbeiten weil eigene Brauerei usw.
 
Zuletzt bearbeitet:
Nicht notwendig.... beim letzten Borg-Angriff hab ich ein Implantat bekommen, welches mir Elektroschocks verabreicht, wenn hier jemand in meiner Abwesenheit postet :suspekt:

Wobei... das mit dem Bier wäre eine Überlegung wert.

[edit by Mintel]User Sven, bitte kein :offtopic: ;-][/edit]
 
Habe ich gemacht hilft aber nichts, ich poste mal meinen Kompletten code hier mal her.

Code:
 <script type="text/javascript" src="cookie.js"></script>
<script type="text/javascript" src="countElement.js"></script>
     <script type="text/javascript"><!--
function swap(id) {
     catObj = document.getElementById("cat" + id);
     if (catObj.style.display == "none") {
      catObj.style.display = "block";
      setCookie('News'+id,'1',10);
     } else {
      catObj.style.display = "none";
      delCookie('News'+id);
     }
    }
    
function forcat() {
	for(n=0;n<countElement('id','p',/^cat\d+\b/);n++) {
		Cookie = getCookie('cat'+n);
		if (Cookie == null) {
			document.getElementById('cat'+n).style.display = 'none';
		} else {
    document.getElementById('cat'+n).style.display = 'block';
		}
	}
}

window.onload=forcat;         
     //--></script>

Code:
     <table cellspacing="0" cellpadding="0" class="menue">
        <tr>
          <td width="100%" class="menueo"><a href="javascript:swap('1')">Einstellungen</a></td>
        </tr>
        <tr>
           <td width="100%">
<ul class="menuelist" id="cat1">
<li>Globale Einstellungen</li>
<li>Newseinstellungen</li>
</ul>
</td>
        </tr>
         <tr>
          <td width="100%"><img src="./images/menue_end.gif" /></td>
        </tr>
       </table>


Die beiden js dateien sehen genauso aus wie deine.
Hoffe du findest denn fehler.

Gruß Alex
 
Schau dir mal in der Funktion swap('id') die Zeilen getCookie und delCookie an. Wenn du News in cat umbenennst must du das schon überall machen.

In der for-Schleife
for(n=0;n<countElement('id','p',/^cat\d+\b/);n++)
musst das 'p' durch den Tag-Namen ersetzten den deine Bereiche dann wirklich haben. In deinem Beispiel 'ul'. Sie müssen alle den gleichen Tag-Namen haben.

Wie gesagt Fehler bei dir... ;)
 
Zuletzt bearbeitet:
syr das htte ich übersehen.

Habe es nun geändert auch das mit dem p in der for Schleife habe ich nun ul hingemacht so wie du es sagtest.

Hatt aber leider immer noch nichts geholfen. Die Blöcke sind weiterhin mit aktivem js sichtbar, dabei sollen sie ja so wie in deinem Bsp. sein.

Gruß Alex
 
Okay, also der Fehler kann jetzt nur noch in der for-Schleife liegen. Versuch mal die Zahl der Bereiche von Hand einzutragen.

Also z.B.
for (n=0;n<22;n++)
statt
for(n=0;n<countElement('id','p',/^cat\d+\b/);n++)
Außerdem musst wenn du bei der Zählung der Bereiche mit 1 anfängst auch bei der Schleife mit eins anfangen: for (n=1;n<22;n++)
Oder was noch eleganter ist, du nimmst diese for-Schleife her:
HTML:
function forcat() {
   	for(n=0;n<countElement('id','ul',/^cat\d+\b/);n++) {
   		Cookie = getCookie('cat'+n);
 		if (Cookie == null) if (document.getElementById('cat'+n)) document.getElementById('cat'+n).style.display = 'none';
   	}
   }
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück