mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 04:23 Benutzername: Passwort: Auto-Login

Thema: Ein- / Ausblenden im Mozilla und IE vom 18.06.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Ein- / Ausblenden im Mozilla und IE
Seite: 1, 2, 3  Weiter
Autor Nachricht
a-flow
Threadersteller

Dabei seit: 28.05.2008
Ort: Hessen
Alter: -
Geschlecht: Männlich
Verfasst Mi 18.06.2008 15:35
Titel

Ein- / Ausblenden im Mozilla und IE

Antworten mit Zitat Zum Seitenanfang

Hallo,

Beim Anpassen des Designs in meinem Webshop habe ich ein Problem mit dem Ein- und Ausblenden bei den Reitern im Menü "Beschreibung", "Technische Daten" und "Passendes Zubehör". Im IE funktioniert das alles wunderbar, aber im Mozilla streikt es.

Hier mal ein Link zu einem Artikel: http://blue-company.plentymarket.de/_py_ToShowQQOne/ArticleIDQQ475/

Unter den Bildern findet Ihr das angesprochene Menü.

Wäre wirklich froh, wenn mir da jemand einen Tipp geben kann - VIELEN DANK!

Das ist das Java-Script dazu:
Code:
<script>
function ShowDiv(i)
{
if (i == 'description')
{
divdescription.style.display ='';
divtechnicaldata.style.display ='none';
divzubehor.style.display ='none';
}
else if (i == 'technicaldata')
{
divdescription.style.display ='none';
divtechnicaldata.style.display ='';
divzubehor.style.display ='none';
}
else if (i == 'zubehor')
{
divdescription.style.display ='none';
divtechnicaldata.style.display ='none';
divzubehor.style.display ='';
}
location.href='#CompanyHeader';
}
</script>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
mrlumbergh

Dabei seit: 01.02.2008
Ort: Hamburg
Alter: 44
Geschlecht: Männlich
Verfasst Mi 18.06.2008 16:12
Titel

Antworten mit Zitat Zum Seitenanfang

"divdescription is not defined" sagt mein firebug.

geh mal über document.getElementById(divdescription).style an das Element ran.

Vielleicht klappt's ja dann? Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
a-flow
Threadersteller

Dabei seit: 28.05.2008
Ort: Hessen
Alter: -
Geschlecht: Männlich
Verfasst Do 19.06.2008 01:24
Titel

Antworten mit Zitat Zum Seitenanfang

Das kann ich leider nicht so einfach anwenden - zu wenig Erfahrung.

Kann das evtl. jemand mal etwas ausführlicher darlegen - VIELEN DANK!!!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
a-flow
Threadersteller

Dabei seit: 28.05.2008
Ort: Hessen
Alter: -
Geschlecht: Männlich
Verfasst Do 19.06.2008 10:33
Titel

Antworten mit Zitat Zum Seitenanfang

... bitte mir wäre damit sehr geholfen!!!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Snifferdog

Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht: Männlich
Verfasst Do 19.06.2008 14:48
Titel

Antworten mit Zitat Zum Seitenanfang

a-flow hat geschrieben:
Das kann ich leider nicht so einfach anwenden - zu wenig Erfahrung.

Kann das evtl. jemand mal etwas ausführlicher darlegen - VIELEN DANK!!!


^^ er meint eigentlich nur dass du dein
divdescription.style.display ='';

und so weiter durch:

document.getElementById(divdescription).style.display ='';

und so weiter ersetzt *zwinker*

Gruß
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
mrlumbergh

Dabei seit: 01.02.2008
Ort: Hamburg
Alter: 44
Geschlecht: Männlich
Verfasst Fr 20.06.2008 14:55
Titel

Antworten mit Zitat Zum Seitenanfang

Lächel genau das meinte ich.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
a-flow
Threadersteller

Dabei seit: 28.05.2008
Ort: Hessen
Alter: -
Geschlecht: Männlich
Verfasst Sa 21.06.2008 12:21
Titel

Antworten mit Zitat Zum Seitenanfang

Also ich habe jetzt einfach das:

divdescription.style.display ='';

durch das ersetzt:

document.getElementById(divdescription).style.display ='';

Der Code sieht demzufolge jetzt so aus:

Code:
<script type="text/javascript">
function ShowDiv(i)
{
if (i == 'description')
{
document.getElementById(divdescription).style.display ='';
document.getElementById(divtechnicaldata).style.display ='none';
document.getElementById(divzubehor).style.display ='none';
}
else if (i == 'technicaldata')
{
document.getElementById(divdescription).style.display ='none';
document.getElementById(divtechnicaldata).style.display ='';
divzubehor.style.display ='none';
}
else if (i == 'zubehor')
{
document.getElementById(divdescription).style.display ='none';
document.getElementById(divtechnicaldata).style.display ='none';
document.getElementById(divzubehor).style.display ='';
}
location.href='#CompanyHeader';
}
</script>


Jetzt klappt es weder im IE noch im Mozilla *Schnief*

Hat noch jemand eine Idee oder vielleicht eine Alternative? Mir ist sehr wichtig, dass die Seite mit Mozilla und IE gut funktioniert. Vom Verhalten her, soll das Menü so sein, wie es im IE ursprüglich funktionierte - VIELEN DANK!!!

Gruß

Andreas
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Sa 21.06.2008 12:31
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
<script type="text/javascript">
   var containers = new Array();
   containers[0] = 'description';
   containers[1] = 'zubehor';
   containers[2] = 'technicaldata';
   
   function showDiv(el) {
      myDiv = document.getElementById(el);
      for(i=0;i<containers.length;i++) {
         tmpID = document.getElementById(containers[i]);
         if(tmpID == myDiv) {
            tmpID.style.display = 'block';
         } else {
            tmpID.style.display = 'none';
         }
      }
      
   }
</script>   


... wenn du noch mehr container hinzufügen willst, einfach in das array packen (beispielsweise: containers[3] = 'xyz') und die funktion entsprechend aufrufen [ showDiv('xyz') ]).

€: Der vollständigkeithalber:
wenn jemand kein javascript aktiviert hat, wird das nicht funktionieren. du solltest du das ganze folgendermaßen machen:

Code:
<script type="text/javascript">

   var contentContainers = new Array();
   var navContainer = 'menu_article'
   
   window.onload = function() {
      
      // inhalte ausblenden
      for(i=0;i<containers.length;i++) {
         tmpID = document.getElementById(containers[i]);
         tmpID.style.display = 'none';
      }
      // events auf die Links legen
      myNavContainer = document.getElementById(navContainer);
      myLinks = myNavContainer.getElementsByTagName('a');
      for(i=0;i<myLinks.length; i++) {
         myTargetContainer = myLinks[i].href.substr(1);
         contentContainers[i] = myTargetContainer;
         myLinks[i].addEventListener('click', function(evt) {
            showDiv(myTargetContainer);
           }, false);
      }
   
   }
   
   function showDiv(el) {
      myDiv = docuement.getElementById(el);
      if(myDiv) {
         for(i=0;i<containers.length;i++) {
            tmpID = document.getElementById(containers[i]);
            if(tmpID == myDiv) {
               tmpID.style.display = 'block';
            } else {
               tmpID.style.display = 'none';
            }
         }
      } else {
         return(void(0));
      }
      
   }
</script>   


<ul id="menu_article" class="menu_article">
   <li><a href="#beschreibung" name="beschreibung">Beschreibung</a></li>
   <li><a href="#technicaldata">Technische Daten</a></li>
   <li><a href="#zubehor">Passendes Zubehör</a></li>
</ul>


... und die entsprechenden tables nicht von vornherein ausblenden.


Zuletzt bearbeitet von sahnemuh am Sa 21.06.2008 13:02, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen [CSS] Bug im Mozilla
IE - Mozilla
Mozilla Firefox + CSS
css problem > IE - Mozilla
[CSS] Mozilla spackt rum...
margin-top ie und mozilla
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3  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.