mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 21:15 Benutzername: Passwort: Auto-Login

Thema: JavaScript Problem! vom 17.03.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> JavaScript Problem!
Seite: 1, 2  Weiter
Autor Nachricht
El Barto
Threadersteller

Dabei seit: 15.04.2002
Ort: Spuckweite Enschede - NL
Alter: 43
Geschlecht: Männlich
Verfasst Do 17.03.2005 17:15
Titel

JavaScript Problem!

Antworten mit Zitat Zum Seitenanfang

Hi an alle,
habe mal weider ein Problem mit JavaScript. Bin leider nich ganz so fit in JavaScript. Das Porblem was ich habe ist dieses Menu. Es klappt auf wenn ich einen Button klicke, das ist ja alles richtig, aber wenn ich einen anderen Button klicke soll sich der der vorher auf war wieder schließen, sprich es darf immer nur ein Button offen sein. Hier mal der Code:

Code:
<script language="JavaScript">
var nummenus = 8; // Number of menus

var titlearray = new Array(); // An array for the title objects
var submenuarray = new Array(); // An array for the submenu objects

if (document.layers) { // Set visibility for NN and IE
visible = 'show';
hidden = 'hide';
}
else
if (document.getElementById) {
visible = 'visible';
hidden = 'hidden';
}
// Fills the arrays with title and submenu objects
for (var i = 0; i < nummenus; i++) {
titlearray[i] = ('title' + i);
submenuarray[i] = ('submenu' +i);
}
// Changes image when category is clicked
function picopen(n) {
title = ('title' + n);
pic = ('pic' + n);
if (document.layers) {
document.layers[title].document.images[pic].src = "1.jpg";
}
else if (document.getElementById) {
//document.getElementById(pic).src = "1.jpg";
   }
}
function picclose(n) {
title = ('title' + n);
pic = ('pic' + n);

}
function toggle(n,move) {
menu = ('submenu' + n);
if (document.layers) {
submenu = document.layers[menu];
}
else if (document.getElementById) {
submenu = document.getElementById(menu).style;
}
if (submenu.visibility == visible) {
submenu.visibility = hidden;
picclose(n);
for (var i = (n+1); i < nummenus; i++) {
if (document.layers) {
document.layers[titlearray[i]].top -= move;
document.layers[submenuarray[i]].top -= move;
}
else
if (document.getElementById) {
document.getElementById(titlearray[i]).style.pixelTop -= move;
document.getElementById(submenuarray[i]).style.pixelTop -= move;
      }
   }
}
else {
submenu.visibility = visible;
alert(n);
picopen(n);
for (var i = (n+1); i < nummenus; i++) {
if (document.layers) {
document.layers[titlearray[i]].top += move;
document.layers[submenuarray[i]].top += move;
}
if (document.getElementById) {
document.getElementById(titlearray[i]).style.pixelTop += move;
document.getElementById(submenuarray[i]).style.pixelTop += move;
      }
   }
}
lastmenu = submenu;
}
</script> 


Bitte um Hilfe!!!! Möglichst auch verständlich, denn ich würde es auch gerne verstehen wie es richtig geht.

Hier noch der aufruf auf der Buttons:

Code:
               <div class="title" id="title0" style="position: absolute; z-index: 5; top: 0; left: 0; width: 90px; height: 28px">
                  <a href="#" onclick="javascript:toggle(0,40); return false;"><img name="pic0" src="../assets/1.gif" border="0"></a>
                  </div>
                  <div class="submenu" id="submenu0" style="top: 28px">
                  <%GetProdAllgemein "1001"%>
                  <%For i = 0 to Ubound(strTextID) %>
                  <a href="javascript:XFrames('right.asp?Area=ProdAll&ID=<%=strTextID(i)%>','right','main.asp?Area=ProdAll&ID=<%=strTextID(i)%>','main')"><%=strText(i)%></a><br>
                  <%Next%>
                  </div>



Also ihr JavaScript Füchse ... wer kann mir helfen?????

El Barto
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
El Barto
Threadersteller

Dabei seit: 15.04.2002
Ort: Spuckweite Enschede - NL
Alter: 43
Geschlecht: Männlich
Verfasst Do 17.03.2005 17:57
Titel

Antworten mit Zitat Zum Seitenanfang

Keiner einen Rat?
Gehe hier echt langsam am Stock!

Naja ... vielleicht sind ja nachher noch ein paar JavaScript Füchse online.
Warte dann mal auf Antwort.

El Barto
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Fr 18.03.2005 11:53
Titel

Antworten mit Zitat Zum Seitenanfang

Spontan fällt mir da jetz das ein:
(keine Ahnung, obs auch geht - und is wohl dir primitivste Lösung *bäh*)

setz in den body irgendwo sowas hin:
Code:
<form name="xxx" action="#" style="display:none"><input type="hidden" name="xxx" value="1"></form>


Das is nen Formular, in dem Temporär die ID des aktuellen Bildes gespeichert wird.

in der Funktion "picopen" musst halt jetz sagen, dass der das aktuelle ausblenden soll (Wert ja gespeichert), danach den Wert durch den neuen ersetzen, und fertig...

laso die funktion picopen sieht dann in etwa so aus:
Code:

function picopen(n) {
 title = ('title' + n);
 pic = ('pic' + n);
 picclose(document.xxx.xxx.value);
 document.xxx.xxx.value = n;
 if (document.layers) {
  document.layers[title].document.images[pic].src = "1.jpg";
 }
else if (document.getElementById) {
 //document.getElementById(pic).src = "1.jpg";
 }
}


.. wie gesagt, nicht getestet, aber so in etwa musst das angehn...

Wobei ich mir das gern mal ansehen würde...Kannst das nicht fix wo hochladen? Der sollte normal doch das aktuelle nur ersetzen ud nicht das alte stehen lassen und ein neues aufmachen * Ööhm... ja? *


Zuletzt bearbeitet von fyll am Fr 18.03.2005 12:01, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
El Barto
Threadersteller

Dabei seit: 15.04.2002
Ort: Spuckweite Enschede - NL
Alter: 43
Geschlecht: Männlich
Verfasst Fr 18.03.2005 12:26
Titel

Antworten mit Zitat Zum Seitenanfang

Danke erst einmal für die Antwort.
Aber das scheint nicht wirklich zu klappen. Wenn ich um die DIV eine Form packe verschwinden diese.
Gibt es denn keine einfache Lösung dafür?

Keine eine Idee?
Brauche wirklich dringend Hilfe!!!

El Barto
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
chrikle

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Fr 18.03.2005 12:30
Titel

Antworten mit Zitat Zum Seitenanfang

Hast du das mal Online irgendwo zur Ansicht stehen?

Sprich das ganze komplette Script mit CSS und so . . .

Dann kann man sich besser was drunter vorstellen.

Gruß
Chris
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
El Barto
Threadersteller

Dabei seit: 15.04.2002
Ort: Spuckweite Enschede - NL
Alter: 43
Geschlecht: Männlich
Verfasst Fr 18.03.2005 12:37
Titel

Antworten mit Zitat Zum Seitenanfang

Natürlich ...
hier ist der link klick hier!

Also hoffe das ihr damit mehr anfangen könnt ... ich bin am verzweifeln ... also brauche dringend Hilfe.
Muss das heute noch fertig bekommen!

El Barto

P.S. Funzt leider nicht im Firefox ... denke mir das das an den DIV liegt ... Layer und Firefox ist ja immer so eine Sache.


Zuletzt bearbeitet von El Barto am Fr 18.03.2005 12:38, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Fr 18.03.2005 13:05
Titel

Antworten mit Zitat Zum Seitenanfang

Ahhhlso....
Du hast die Bilder absolut positioniert... heißt, die bleiben, wo sie sind, was sie aber nicht sollen; also weg damit.
(man könnte natürlich in der funktion wen Wert "height" ändern, aber wär zu umständlich find ich...
Dann machst nen gaanz primitives Script, das einfach die Ebenen einblenden soll und alle anderen ausblenden soll...


Code:


<div class="title" id="title10">
 <a href="#" onclick="machauf(1)"><img name="pic1" src="http://www.eckenkreis.de/menu/1.gif" border="0"></a>
</div>
  <div class="submenu" id="submenu1" style="display:none">
   <a href="suche.html" target="main">Suche</a><br>
  </div><br>

<div class="title" id="title2">
 <a href="#" onclick="machauf(2)"><img name="pic2" src="http://www.eckenkreis.de/menu/2.gif" border="0"></a>
</div>
  <div class="submenu" id="submenu2" style="display:none">
   <a href="werbung.html" target="main">Werbung</a><br>
  </div><br>

<div class="title" id="title3">
 <a href="#" onclick="machauf(3)"><img name="pic3" src="http://www.eckenkreis.de/menu/3.gif" border="0"></a>
</div>
  <div class="submenu" id="submenu3" style="display:none">
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.fizefaz.de</a><br>
   <a href="#" target="mitte">www.eckenkreis.de</a><br>
   <a href="#" target="mitte">www.yahoo.com</a><br>
   <a href="#" target="mitte">www.lycos.com</a><br>
   <a href="#" target="mitte">www.fireball.com</a><br>
   <a href="www.ulistein.com" target="mitte">www.ulistein.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
  </div><br>

<div class="title" id="title4">
<a href="#" onclick="machauf(4)"><img name="pic4" src="http://www.eckenkreis.de/menu/4.gif" border="0"></a>
</div>
  <div class="submenu" id="submenu4" style="display:none">
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.fizefaz.de</a><br>
   <a href="#" target="mitte">www.eckenkreis.de</a><br>
   <a href="#" target="mitte">www.yahoo.com</a><br>
   <a href="#" target="mitte">www.lycos.com</a><br>
   <a href="#" target="mitte">www.fireball.com</a><br>
   <a href="#" target="mitte">www.ulistein.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
  </div><br>

<div class="title" id="title5">
 <a href="#" onclick="machauf(5)"><img name="pic4" src="http://www.eckenkreis.de/menu/5.gif" border="0"></a>
</div>
  <div class="submenu" id="submenu5" style="display:none">
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.fizefaz.de</a><br>
   <a href="#" target="mitte">www.eckenkreis.de</a><br>
   <a href="#" target="mitte">www.yahoo.com</a><br>
   <a href="#" target="mitte">www.lycos.com</a><br>
   <a href="#" target="mitte">www.fireball.com</a><br>
   <a href="#" target="mitte">www.ulistein.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
  </div><br>

<div class="title" id="title6">
 <a href="#" onclick="machauf(6)"><img name="pic6" src="http://www.eckenkreis.de/menu/6.gif" border="0"></a>
</div>
  <div class="submenu" id="submenu6" style="display:none">
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.fizefaz.de</a><br>
   <a href="#" target="mitte">www.eckenkreis.de</a><br>
   <a href="#" target="mitte">www.yahoo.com</a><br>
   <a href="#" target="mitte">www.lycos.com</a><br>
   <a href="#" target="mitte">www.fireball.com</a><br>
   <a href="#" target="mitte">www.ulistein.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
  </div><br>

<div class="title" id="title7">
 <a href="#" onclick="machauf(7)"><img name="pic7" src="http://www.eckenkreis.de/menu/7.gif" border="0"></a>
</div>
  <div class="submenu" id="submenu7" style="display:none">
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.fizefaz.de</a><br>
   <a href="#" target="mitte">www.eckenkreis.de</a><br>
   <a href="#" target="mitte">www.yahoo.com</a><br>
   <a href="#" target="mitte">www.lycos.com</a><br>
   <a href="#" target="mitte">www.fireball.com</a><br>
   <a href="#" target="mitte">www.ulistein.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
  </div><br>

<div class="title" id="title8">
 <a href="#" onclick="machauf(8)"><img name="pic8" src="http://www.eckenkreis.de/menu/8.gif" border="0"></a>
</div>
  <div class="submenu" id="submenu8" style="display:none">
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.fizefaz.de</a><br>
   <a href="#" target="mitte">www.eckenkreis.de</a><br>
   <a href="#" target="mitte">www.yahoo.com</a><br>
   <a href="#" target="mitte">www.lycos.com</a><br>
   <a href="#" target="mitte">www.fireball.com</a><br>
   <a href="#" target="mitte">www.ulistein.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
   <a href="#" target="mitte">www.newgrounds.com</a><br>
  </div><br>



<script type="text/javascript">
 function machauf(bla) {
  if(bla=="1") { document.getElementById('submenu1').style.display="inline"; } else { document.getElementById('submenu1').style.display="none"; }
  if(bla=="2") { document.getElementById('submenu2').style.display="inline"; } else { document.getElementById('submenu2').style.display="none"; }
  if(bla=="3") { document.getElementById('submenu3').style.display="inline"; } else { document.getElementById('submenu3').style.display="none"; }
  if(bla=="4") { document.getElementById('submenu4').style.display="inline"; } else { document.getElementById('submenu4').style.display="none"; }
  if(bla=="5") { document.getElementById('submenu5').style.display="inline"; } else { document.getElementById('submenu5').style.display="none"; }
  if(bla=="6") { document.getElementById('submenu6').style.display="inline"; } else { document.getElementById('submenu6').style.display="none"; }
  if(bla=="7") { document.getElementById('submenu7').style.display="inline"; } else { document.getElementById('submenu7').style.display="none"; }
  if(bla=="8") { document.getElementById('submenu8').style.display="inline"; } else { document.getElementById('submenu8').style.display="none"; }
 }
</script>




Oder so in etwa.

Das Script unten hab ich mit Absicht so unkomfortabel, damit du weißt, wie es funktioniert... natürlich geht das auch enfacher und variabler, aber soll ja dazu dienen, damit du weißt, was das macht.

Genau deshalb bin ich immer strikt gegen WYSIWYG-Progs oder fertige Scripts; zumindest wenn mans selber noch nciht so gut beherrscht...
TIP: erarbeite dir das Wissen selber, sonst hast von Anfang an verloren udn die "Wurzeln" deines HTML/JS-Wissens sind schon angefault *fg*
  View user's profile Private Nachricht senden
El Barto
Threadersteller

Dabei seit: 15.04.2002
Ort: Spuckweite Enschede - NL
Alter: 43
Geschlecht: Männlich
Verfasst Fr 18.03.2005 13:11
Titel

Antworten mit Zitat Zum Seitenanfang

@ Ferret

Danke ... ich weiß, man sollte schon wissen was man da macht und auch verstehen wie es aufgebaut ist.
Aber ich danke Dir trotzdem für Deine Hilfe, so bekomme ich das heute doch noch fertig ... werde versuchen die faulenden Wurzeln zu verhinden. Ein JavaScript Buch hatte ich eh schon bei Amazon gebraucht bestellt.

Danke noch einmal, hast mir wirklich weitergeholfen!!!!!

El Barto
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Problem mit javascript im IE
JavaScript Problem im IE
Javascript problem
Javascript Problem im FF
JavaScript - Problem?
Javascript Problem
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.