jamie: Wie geht das hier? JavaScript? Flash?

Hallo,
wie funktionirt die Navigation auf siemens.de

Ist das Flash? Oder JS? Oder beides?

Hier der entspr. Code eines links:

<a href="javascript:void(0);" class="link" rel="jump-to-productfinder-industry-455440">Motors and Drives</a>

Den versteh ich überhaupt nicht. Was bewirkt die JS-Angabe? Was ist der Empfänger von rel? Und wo steht, dass bei einem mouseover was passieren soll?

Fragen über Fragen :-)

Vielen dank schonmal für eure Zeit!

  1. Du hast Firebug benutzt, hm? Schau Dir mal den Quelltext an, dann erfährst Du mehr. Nebenbei: JavaScript-Events müssen nicht als HTML-Attribut, sondern können auch mittels JavaScript gesetzt werden.

    Gruß, LX

    --
    RFC 1925, Satz 3: Mit ausreichendem Schub fliegen Schweine wunderbar. (...)
    1. hm, also es ist wohl alles JS. Aber so richtig schlau werd ich trotzdem nicht draus :-/ Danke trotzdem

      1. hm, also es ist wohl alles JS. Aber so richtig schlau werd ich trotzdem nicht draus :-/ Danke trotzdem

        Willst du daraus schlau werden oder willst du etwas ähnliches machen, aber ordentlich - sprich etwas, das auch ohne JavaScript bedienbar ist und ordentlichen, semantisch vernünftigen menschen- und maschinenlesbaren Code hat?

        1. Willst du daraus schlau werden oder willst du etwas ähnliches machen, aber ordentlich - sprich etwas, das auch ohne JavaScript bedienbar ist und ordentlichen, semantisch vernünftigen menschen- und maschinenlesbaren Code hat?

          Was du immer gegen JS hast, werd ich nie verstehen.
          Ohne JS wäre das Web doch langweilig, die Usebillity d.h. die "schnönen & modernen" Menüs, Events und und und werden doch mit JS umgesetzt.

          Ist nicht JS ein einer der Gründe warum das Web die Version 2.0 bekommen hat?
          Ich werde nie verstehen warum es Leute gibt, die es ausschalten, zumal ein Script sich selbst terminiert wenns überladen wird und JS nicht aufs System zugreifen kann, außer auf die Cookies.

          Hmm, sollte keine Kritik sein, habe nur Festgestellt das die Leute hier öfters was gegen JS haben ....

          1. Was du immer gegen JS hast, werd ich nie verstehen.

            Ich hab' nichts gegen JavaScript - JS ist sogar ein feine Sache - nur sollte fehlendes JavaScript nicht die Bedienung der Seite unmöglich machen. Bzw sollte man JavaScript nicht einsetzen wo es garnicht notwendig ist.

            z.B. ist folgendes völlig irrsinnig und entspricht etwa dem, was der OP als Beispiel verwandt hat:
            <a href="javascript:void(0)" onclick="window.location.href='http://example.com/';">example.com</a>

            Ohne JS wäre das Web doch langweilig, die Usebillity d.h. die "schnönen & modernen" Menüs, Events und und und werden doch mit JS umgesetzt.

            Wenns nicht um Animationen geht, wäre dafür CSS völlig ausreichend.

            Ist nicht JS ein einer der Gründe warum das Web die Version 2.0 bekommen hat?

            Nein. Da einerseits Web 2.0 überhaupt keine Definition unterliegt und wenn überhaupt Web 2.0 etwas mit "Mitmach-Web" zu tun hat - dafür ist aber keineswegs JavaScript erforderlich.

            Ich werde nie verstehen warum es Leute gibt, die es ausschalten, zumal ein Script sich selbst terminiert wenns überladen wird und JS nicht aufs System zugreifen kann, außer auf die Cookies.

            Nein, ein defektes JavaScript kann das System soweit belasten, dass garnichts mehr geht und 100% CPU-Time konsumieren - bzw. der Browser tut das.

            Moderne Browser sorgen allerdings dafür, dass - Fall sowas passiert - das JavaScript angehalten werden kann. Das ist aber kein Feature von JavaScript.

            Hmm, sollte keine Kritik sein, habe nur Festgestellt das die Leute hier öfters was gegen JS haben ....

            Keineswegs - jeder der hier bemängelt, dass etwas ohne JavaScript nicht funktioniert, hat im Grunde nichts gegen JavaScript.

            JavaScript ist nur das Schirmchen am Eisbecher - der Eisbecher muss auch ohne dem Schirmchen lecker sein.

            1. JavaScript ist nur das Schirmchen am Eisbecher - der Eisbecher muss auch ohne dem Schirmchen lecker sein.

              Dieses Beispiel nehme ich in meine Zitatsammlung auf :)

              Schönen Tag noch.

            2. wenn überhaupt Web 2.0 etwas mit "Mitmach-Web" zu tun hat

              Ja, aber auch mit der Verlagerung von Anwendungen ins Web.

              Mathias

          2. Hi Hansi!

            Ohne JS wäre das Web doch langweilig, die Usebillity d.h. die "schnönen & modernen" Menüs, Events und und und werden doch mit JS umgesetzt.

            Und genau das ist der Trugschluss, der mich oft ärgert. Man bekommt mittlerweile wunderschöne, browserübergreifende Layouts hin, die sowohl menschen- als auch suchmaschinen-freundlich sind.

            Wieso sollte auf diese Möglichkeit verzichtet werden, um einen schmutzigeren, nein sogar ekligeren, Weg über Javascript oder Flash zu nehmen?
            Sauberes Javascript ist in der Lage, voll funktionstüchtige Seiten aufzupeppen, ja! Aber dann doch bitte auf einer vernünftigen Grundlage.

            Brauchst du Gründe dafür?
            Bitte:
             - Wartbarkeit
             - Kompatibilität
             - Suchmaschinenfreundlichkeit
             - Wiederverwendbarkeit
             - Baukastenprinzip

            Ist nicht JS ein einer der Gründe warum das Web die Version 2.0 bekommen hat?

            Ich würde es nicht vermissen...

            Ich werde nie verstehen warum es Leute gibt, die es ausschalten [...]

            Es verlangsamt meinen (langsamen) Rechner (P3 900 MHz, 384MB Ram) manchmal dermaßen.
            Ich hab teilweise schon Probleme, Seiten zu scrollen, die mit exzessivem Gebrauch von Float erstellt wurden.

            MfG H☼psel

            --
            "It's amazing I won. I was running against peace, prosperity, and incumbency."
            George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
            Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
          3. Hi there,

            Ohne JS wäre das Web doch langweilig, die Usebillity d.h. die "schnönen & modernen" Menüs, Events und und und werden doch mit JS umgesetzt.

            ich denke, da muss man zwei Dinge auseinanderhalten. JS zur Behübschung und Verbesserung einer Seite ist vollkommen ok, JS als Voraussetzung zu Bedienung einer Seite ist nicht ganz unproblematisch, auch wenn's normalerweise nur die trifft, die schon wissen werden, warum sie's abdrehen.
            In einer webbasierten Anwendung im Intranet ist JS auch als Voraussetzung kein Problem.

            Ist nicht JS ein einer der Gründe warum das Web die Version 2.0 bekommen hat?

            Das war einfach ein Begriff von O'Reilly, den ihm irgendwelche Marketingfuzzies geklaut haben. Bekommen hat das Web diese Versionsnummer mitnichten, und, nebenbei bemerkt, verdient meiner Meinung nach auch nicht. Die Browser sind einfach besser geworden, die Inhalte sind gleich geblieben.

            Ich werde nie verstehen warum es Leute gibt, die es ausschalten, zumal ein Script sich selbst terminiert wenns überladen wird und JS nicht aufs System zugreifen kann, außer auf die Cookies.

            sagt die Theorie. Ich würde zB mit dem IE bei eingeschaltetem Javascript jedenfalls keine keine Warez- oder Schmutzbildseiten (;) besuchen. Und das hat mit Cookies absolut nichts tun.

            Hmm, sollte keine Kritik sein, habe nur Festgestellt das die Leute hier öfters was gegen JS haben ....

            naja, man kann alles übertreiben, aber wenn man nicht wirklich weiss, was man tut, ist es immer besser, vorsichtig zu sein...

        2. Willst du daraus schlau werden oder willst du etwas ähnliches machen, aber ordentlich - sprich etwas, das auch ohne JavaScript bedienbar ist und ordentlichen, semantisch vernünftigen menschen- und maschinenlesbaren Code hat?

          hehe, die Antwort ist ganz "wertfrei", oder? ;)
          Also ich würde gern so einen Blenden-Effekt machen. Aber ohne JS (oder Flash) wird das nicht hinhauen, oder?

          Danke Dir!
          jamie

          1. hehe, die Antwort ist ganz "wertfrei", oder? ;)

            Nein, da diese Seitenbewertungen ohnehin nicht ins Archiv wandern, kann ich mir eine gewisse Wertung nicht verkneifen :) Den Code der genannten Seite als Lernbeispiel zu verwenden halte ich für gefährlich.

            Also ich würde gern so einen Blenden-Effekt machen. Aber ohne JS (oder Flash) wird das nicht hinhauen, oder?

            Was ist ein "Blenden-Effekt" - kannst du mir ein Beispiel zeigen?

            Ansonsten, auch wenn JavaScript notwendig wäre: erzeuge funktionsfähiges HTML/CSS und füge die speziellen Effekte erst später hinzu. Mit entsprechenden Frameworks wie jQuery ist das recht einfach.

            1. Hallo nochmal

              Was ist ein "Blenden-Effekt" - kannst du mir ein Beispiel zeigen?

              Bei der Siemens-Seite ist es so, dass das obere Bild bei einem Mouseover vom Menüpukt langsam einblendet bzw. von einem Punkt zum nächsten überblendet. Das schaut ganz nett aus finde ich :) Aber ohne JS geht das nicht nehm ich an...

              Ansonsten, auch wenn JavaScript notwendig wäre: erzeuge funktionsfähiges HTML/CSS und füge die speziellen Effekte erst später hinzu. Mit entsprechenden Frameworks wie jQuery ist das recht einfach.

              ok, werd ich mir mal ansehen. danke

              1. Hi there,

                Bei der Siemens-Seite ist es so, dass das obere Bild bei einem Mouseover vom Menüpukt langsam einblendet bzw. von einem Punkt zum nächsten überblendet. Das schaut ganz nett aus finde ich :) Aber ohne JS geht das nicht nehm ich an...

                Ja, aber das sehen nur die Armen, die ein Flashplugin installiert haben. Bei mir steht da entweder nur "click here to download the plugin" oder ich seh ein Symbol, daß ich doch bitte bitte das Flashmovie starten soll. Das geht vermutlich allen so, die das Gezapple im Netz nicht mehr aushalten.
                Im übrigen könnte man diesen "Blendeneffekt" auch mit Javascript realisieren.

                1. Im übrigen könnte man diesen "Blendeneffekt" auch mit Javascript realisieren.

                  Und dafür gibts sogar einen Artikel (Fader Framework). Und alle ohne JavaScript sehen halt nur das erste Bild.

            2. Was mir noch dazu einfällt:

              Ansonsten, auch wenn JavaScript notwendig wäre: erzeuge funktionsfähiges HTML/CSS und füge die speziellen Effekte erst später hinzu. Mit entsprechenden Frameworks wie jQuery ist das recht einfach.

              Wenn ich jetzt z.B. per mouseover ein Bild irgendwo austauschen möchte, ohne, dass die Seite neu geladen wird. Mach ich das dann (ohne JS) mittles CSS display:none und display:block? Das würde ich hinkriegen.

              Wie würde man dann das Ganze mit JS kombinieren (für das Schirmchen auf dem Eis). Wenn jem JS hat, soll das Bild ja nicht einfach verschwinden (display:none) sonder erst langsam ausblenden. Ich müsste in diesem Fall die CSS-Angabe irgendwie "aushalten"!?

              danke nochmal
              jamie

              1. Wie würde man dann das Ganze mit JS kombinieren (für das Schirmchen auf dem Eis). Wenn jem JS hat, soll das Bild ja nicht einfach verschwinden (display:none) sonder erst langsam ausblenden. Ich müsste in diesem Fall die CSS-Angabe irgendwie "aushalten"!?

                Ich kann deinem Beispiel nicht ganz folgen und wähle daher ein eigenes.

                Man nehme eine simples Dropdown-Menu wo du die Untermenüpunkte mittels display: none/block ein und ausblendest.

                Das CSS sieht dafür üblicherweise so aus:

                #menu li ul { display: none; }  
                #menu li:hover ul { display: block; }
                

                Dein JavaScript sorgt dann dafür, dass das Untermenü nicht "hart" eingeblendet wird sondern z.B. runterrutscht.

                In vielen Fällen ist es auch erforderlich, dass die Seite mit JavaScript etwas anders aussieht, als ohne (zusätzliche Icons oder sonstiges) - diese kann man natürlich per JavaScript einfügen. Der Nachteil ist allerdings, dass die Formatierung dann teilweise im CSS und teilweise im JavaScript zu finden ist - das kann man umgehen, indem man mit JavaScript nur eine Klasse/ID im entsprechenden Element oder im body-Element hinzufügt und vorab bereits alles im CSS definiert:

                a { color: red; }  
                body#javascript a { color: blue; }
                

                Aufgrund der Spezifität gilt zweitere Eigenschaft - selbriges kann man natürlich auch auf das obrige Menü übertragen.

                body#javascript #menu li:hover ul { display: none; }

                1. Ich kann deinem Beispiel nicht ganz folgen und wähle daher ein eigenes.

                  Ich versuchs nochmal :)

                  Also ich habe 5 links. Klicke ich auf den ersten soll Bild 1 einblenden. Klicke auf auf link2 wird Bild 2 über Bild 1 geblendet usw.

                  Um das Ganze "sicher" zu machen, müsste ich den Bildertausch ja auch in CSS notieren, richtig!? Ich hätte dann z.B.

                    
                  #bild1 {display:block}  
                  #bild2 {display:none}  
                  
                  ~~~ usw  
                    
                  Wie bekomme ich es hin, dass  
                    
                  1) bei einem Nutzer ohne JS bei einem Klick auf link2 Bild1 ausgeschalten (display:none) und Bild2 eingeschalten (disply:block) wird und  
                    
                  2) bei Nutzern mit JS das Ganze über jQuery läuft (und eben die CSS-Geschichte ignoriert wird)  
                    
                    
                  Verständlicher?  
                    
                  Vielen Dank nochmal,  
                  jj  
                    
                  
                  
                  1. Jetzt hab' ichs verstanden - du meinst eine Bildergalerie zum Durchklicken.

                    Was spricht gegen die Variante "für Leute ohne JavaScript wird die Seite neu geladen"? Mit CSS hast du da jedenfalls wenig Chancen.

                    1. Was spricht gegen die Variante "für Leute ohne JavaScript wird die Seite neu geladen"? Mit CSS hast du da jedenfalls wenig Chancen.

                      ok, danke. Dachte, das ließe sich evtl. auch so lösen.

                      Letzte Frage (versprochen): Wenn ich die Bilder per Mouseover und nicht per Click tauschen möchte, komm ich an JS noch viel weniger vorbei, richtig?

                      1. Hi,

                        Letzte Frage (versprochen): Wenn ich die Bilder per Mouseover und nicht per Click tauschen möchte, komm ich an JS noch viel weniger vorbei, richtig?

                        Doch, CSS kennt :hover und den Nachfahrenselektor.

                        MfG ChrisB

                        --
                        Light travels faster than sound - that's why most people appear bright until you hear them speak.