[JavaScript] Rollover

Dieses Thema im Forum "Webentwicklung" wurde erstellt von joker.org, 30. März 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 30. März 2007
    Rollover

    Hallo Leute,
    ich brauche nochmals eure Hilfe.
    Ich habe hier ein Rollover code der aber meiner Ansicht nach noch nicht ganz komplett ist (ich meine es fehlt noch die Überprüfung "if (document.image)" damit der Explorer wenn Bild nicht vorhanden ist keine Fehlermeldung ausspuckt). Könnt ihr mir dabei helfen ?

    Zur Erklärung:

    1. Bild --> home.gif
    Rollover --> home2.gif
    2. Bild --> termine.gif
    Rollover --> termine2.gif

    HTML:
    <html> <head> <script type="text/javascript"> function hover(Zustand) { switch (Zustand) { case 1: document.back.src="navi_home.gif"; break; case 2: document.next.src="navi_termine.gif"; break; default: document.back.src="navi_home2.gif"; document.next.src="navi_termine2.gif"; } } </script> </head> <body> <a href="#" onMouseOver="hover(1)" onmouseout="hover(3)"><img src="navi_home.gif" name="back"></a> <a href="#" onMouseOver="hover(2)" onmouseout="hover(4)"><img src="navi_home2.gif" name="next"></a> </body> </html>
    
    Danke.
    Hilfe auch per PN

    gruß joker.org
     
  2. 2. April 2007
    AW: Rollover

    so hier hast eine funktion

    jedoch funktioniert die nur bei ie mit aktivierter ActiveX.

    dementsprechend kannst du jetzt dein switch-case oder if anpassen.

    Code:
    function ExistFile(sFileName)
    {
     var fso = new ActiveXObject("Scripting.FileSystemObject");
     
     if(fso.FileExists(sFileName)==true)
     {
     alert("Datei Existiert!");
     return true;
     }
     else
     {
     alert("Datei Existiert nicht!\n" + sFileName);
     return false;
     }
     
    };
    
    gruß wollknoll
     
  3. 3. April 2007
    AW: Rollover

    Hy,
    recht herzlichen Dank für deine Hilfe.
    Kann ich deinen Functioncode so übernehmen oder muss ich noch was abändern ?
    Danke.

    Gruß joker.org
     
  4. 3. April 2007
    AW: Rollover

    normal müsste das so übernehmbar sein. nur das alert wegmachen :]
     
  5. 3. April 2007
    AW: Rollover

    Hy,
    könntest du mir vielleicht noch eine richtige Version posten wäre n1.
    Und wie ist das eigentlich mit diesem Code:

    }

    function Bildwechsel(Bild,Objekt)
    {
    if (document.images)
    document[Bild].src = Objekt.src;
    }

    kann ich diesen auch verwenden oder wofür steht dieser ?
    Danke.

    Gruß joker.org
     
  6. 3. April 2007
    AW: Rollover

    PHP:
    function  ExistFile ( sFileName )
    {
     var 
    fso  = new  ActiveXObject ( "Scripting.FileSystemObject" );
     
     if(
    fso . FileExists ( sFileName )== true )
     {
     return 
    true ;
     }
     else
     {
     return 
    false ;
     }
     
    };
    nur noch dein dateiname übergeben, ansonsten kannst es ja wie ganz oben belassen
     
  7. 3. April 2007
    AW: Rollover

    Eine Frage, wozu machst du das? Was wir dir ursprünglich gesagt hat, mit onmouseover und onmouseout hätte doch schon vollkommen gereicht, stattdessen hast du jetzt sowas kompliziertes und willst noch ActiveX implementieren .... Man kommt hierbei zwar nicht um JS herum, da nicht jeder Browser die benötigten Events bei Bilder unterstützt, aber der Code, den du hier benützen willst ist absoluter Murks und schlecht lesbar.

    ansonsten hier ein deutlich besserer code....

    PHP:
    <? xml version = "1.0"  encoding = "ISO-8859-1"  ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <script type="text/javascript">
          //<![CDATA[
            function $(id) {
                return document.getElementById(id);
            }
          //]]>
        </script>
        <title>Mouseover Effekt</title>
      </head>
      <body>
        <a href="http://www.example.com" onmouseover="$('TestBild').src='anderesBild.gif'" onmouseout="$('TestBild').src='Ursprungsbild.gif'">
          <img id="TestBild" src="http://www.example.com/example.gif" />
        </a>
      </body>
    </html>
    Kann man natürlich noch optimieren (Zwischenspeichern der Funktionsaufrufe etc.) aber dieser Coder ist deutlich lesbarer, benutzt weniger JS, aber dafür komplett von allen populären Browsern unterstützt, korrekte xHTML Auszeichnung, und macht das was du haben willst in deutlicher weniger Zeilen als du oben beschrieben hast ...

    EDIT: Was red ich, bei CSS gibt es Probleme bei Browsern->Bilder->:hover ... aber nicht bei JS ..... also nimm wollknolls beispiel.
     
  8. 4. April 2007
    AW: Rollover

    @ MakenX

    es geht um die abfrage ob das bild überhaupt exisitert, das bei dem hover kommen soll.
    verstehs zwarauch ned warum, weils ja im normalfall da ist, wenn man das selbst macht ?(

    egal dafür ist das activeX

    gruß wollknoll
     
  9. 4. April 2007
    AW: Rollover

    Hi Wollknoll, nein eigentlich, und so war im usprünglichen Thread auch, ging es um einen Hovereffekt für einen Bildlink. Joker hat einen Quellcode bekommen, der einen Fehler wirft, falls mal ein Bild nicht vorhanden ist. Diese Meldung resultiert jedoch im großen und ganzen daraus, dass der JS Quellcode für diesen fall einfach mies und zu aufgebläht ist ... und wenn ein Bild nicht da ist, reicht das rote Kreuz vollkommen! Sobaold der Entwickler das sieht, lädt er das bild hoch. Und bei HTML gilt es sparsam mit Code umzugehen, damit die Seite schnell lädt und möglichst kompatibel ist ... deswegen die abkehr von diesem komischen gemurkse, eher hin zu meinem kleinen schlanken standardkonformen quellcode.
     
  10. 4. April 2007
    AW: Rollover

    Hy,
    ja es war nur die Frage weil ich von Freunden das mitbekommen habe dass möglicherweise eine Fehlermeldung auftreten könnte.
    Aber wenn ihr meint dass das nicht nötig ist dann lasse ich es.
    Eine einfachere Methode gibt es nicht ?
    Die von mir oben funktioniert so noch nicht oder wie ?

    Danke.

    Greetz joker.org
     
  11. 4. April 2007
    AW: Rollover

    sry vertippt
     
  12. 4. April 2007
    AW: Rollover

    jo also am einfachsten machst du es dann so:

    <a href="#"><img src="bild.gif" onmouseover="src='bild_hover.gif'" onmouseout="src='bild.gif'"></a>

    gruß wollknoll
     
  13. 4. April 2007
    AW: Rollover

    Jo oder so wie wollknoll, aber genau das hatten wir dir auch schon letztens vorgeschlagen... wollltest du ja aus unerfindlichen gründen nicht nehmen ...
     
  14. 5. April 2007
    AW: Rollover

    Hy,
    ja aber wenn man es so betrachtet dass die Bilder also die .gif Dateien sowieso vorhanden sind weil man es ja selber programmiert ist das ActiveX Steuerelement ja überflüssig dann kann ich es ja auch wie oben machen.
    Ist wohl die einfachste Variante.
    Danke euch allen.

    Gruß joker.org

    ~ C L O S E D ~
     
  15. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.