Zwickmühle mit Javascript

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Zwickmühle mit Javascript

    Hallo leute!

    Ich bastel gerade Freiwillig an einer Vereinshompage rum und zwar möchte ich die Seite einfach komplett neu aufsetzen da es nur eine alte Version gibt die von 1996 ist und seit dem immer wieder verbessert und geändert wurde und das ohne einhaltung irgenwelcher Doctypetypen oder html versionen und das ganze dann auch noch in solch einem schlechten Stil was formatierungen angeht das man gar nicht mehr durchblickt und stunden lang suchen muss wenn man was im code ändern möchte außerdem wurde das ganze noch mit frames gemacht !

    So jetzt habe ich das ganze xhtml 1.1 konform aufgebaut habe css regeln verwendet usw. allerdings bin ich da nun auf ein kleines Problem gestoßen:
    also ich habe auf der linken seite ein div element das ich als Navieiste benutze in der mitte steht ein weiteres div in dem eine Tabele steht um den Text anzuordnen jetzt möchte ich das ganze so gestalten das wenn ich auf ein link in der Navi leiste klicke der inhalt des in der mitte stehenden divs geändert wird das geht auch ganz gut mit JavaScript so jetzt gibt es da aber zwei Probleme :

    1.
    Die Seite sollte ja für jeden zugänglich sein ich denke da in erster Linie an die älteren Nutzer kann mir nämlich schon gut vorstellen wie die vorm rechner sitzen und eine Fehlermeldung erhalten "Sie Benötigen JavaScript!" .... " häää was ist JavaScript???" :)

    2.
    ist das irgenwie ein rießen Aufwand da eine der seiten die in diesem div aufgerufen werden soll eine Termin seite ist die praktische jede woche geändert wird wenn ich jetzt aber mit einer funktion auf die einzelnen tabelen Inhalte mit document.getElementById("").firstChild.nodeValue="" ; zugreife dann darf ich ja jede woche 1 bis 2 stunden damit verbringen mein Javascriptcode zu ändern um alle Formatierungen anzupassen usw.

    Daher ist meine Frage geht das ganze nicht auch einfacher ???? Also wie gesagt ich möchte einfach die mitte der Seite ändern und nicht bei jedem klick eine neue Seite Aufrufen das ganze sollte auch ohne Frames funktionieren und auch ohne php da der Server kein php unterstützt außerdem wäre es wohl genau so kompliziert wie mit java script hat jemand eine Idee ??? bin auch für einen tollen javascript ansatz dankbar !!! dann lässt sich das problem das manche eben nicht draufzugreifen können nicht vermeiden !
  • Zu 1.
    Du könntest im HTML-Code Links auf HTML-Seiten machen und diese dann mittels JS entfernen oder modifizieren, so dass sie eine Javascript-Funktion aufrufen, zum Anzeigen der Seite. So könnten auch Leute ohne JS die Seiten angezeigt bekommen. Allerdings würden dann Redundanzen entstehen. Aber je nachdem, wie oft sich die Seite ändert, wären diese vielleicht noch tragbar.

    Zu 2.
    Ich kann mir das anhand deiner Erklärung leider nicht wirklich bildlich vorstellen. Hast du vielleicht ein paar Beispiele, die du online stellen könntest?
    Aber soweit ich es verstanden habe, dürfte es ziemlich schwierig bzw. zeitaufwendig werden, das ohne JS zu machen.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • Hi Deadman danke für deine Antwort ich zeig dir mal ein paar beispiele :

    du hast zunächst mal eine naviliste;

    Quellcode

    1. <div>
    2. <a href=" ">Home</a>
    3. <a href="> Termine </a>
    4. <a href="> Aktuelles </a
    5. </div>


    das Div ist relativ positioniert und float:left

    Also steht ein zweites div links neben der naviliste

    Quellcode

    1. <div>
    2. <tabel>
    3. <tr>
    4. <td>text</td>
    5. <td>text</td>
    6. <td>text</td>
    7. <td>text</td>
    8. <td>text</td>
    9. <td>text</td>
    10. </tr>
    11. <tr>
    12. <td></td>
    13. <td></td>
    14. </tr>
    15. </table>
    16. </div>
    Alles anzeigen


    die tabelle im div mag etwas komisch aussehen aber ist dazu gedacht den text besser anordnen zu können jetzt mache ich folgendes sobald ich auf einen link in der navi leiste klicke greife ich mit java script auf die einzelnen tabelen einträge zu und füge text ein oder lösche text das funzt auch ganz gut nur leider ist das ganze Wall of Code da ich für jeden link praktisch eine neue java function brauche und auch für jede funktion if abfragen um zu prüfen ob überflüssiger text gelöscht werden muss oder ob benötigter text hinzugefügt werden muss ungefähr so :

    Quellcode

    1. if(document.getElementById("td4").firstChild == null && document.getElementById("td7").firstChild == null
    2. && document.getElementById("td41").firstChild == null && document.getElementById("td10") != null)
    3. {
    4. /*create a Element TextNode and append it on Element*/
    5. var x= document.createTextNode("bla bla ");
    6. document.getElementById("td4").appendChild(x);
    7. /*create a Element TextNode and append it on Element*/
    8. var y= document.createTextNode("bla bla bla ");
    9. document.getElementById("td7").appendChild(y);
    10. /*create a Element Img and append it on Elment */


    und das ganze nochmal zum löschen :

    Quellcode

    1. /*if chosen Elements have a Child reset it */
    2. if(document.getElementById("td4").firstChild != null && document.getElementById("td7").firstChild != null
    3. && document.getElementById("td41").firstChild != null )
    4. {
    5. document.getElementById("td4").removeChild(document.getElementById("td4").firstChild);
    6. document.getElementById("td7").removeChild(document.getElementById("td7").firstChild);
    7. document.getElementById("td41").removeChild(document.getElementById("bild"));
    8. }
    Alles anzeigen


    so jetzt ist die frage halt einfach ob ich das ganze nicht irgenwie etwas vereinfachen kann ohne jedes mal eine neue HTML seite für jeden link erstellen muss
    aber ich bin auch zu der erkenntnis gekommen das das ganze ohne js wohl nicht funktionieren wird außer mann bedient sich der frames oder macht eben für alles eine eigene html seite die bei klick auf link aufgerufen wird was ich aber beides vermeiden wollte

    so hoffe mein beispiel war jetzt verständlicher ?


    Viele grüße