Dynamische Buttons

  • Hallo!
    Ich habe auf meiner Homepage dynamische Buttons mit Hilfe von dem Beispiel aus SelfHTML gebaut (http://selfhtml.teamone.de/javascript/beispiele/buttons.htm)

    Auf dem Rechner hatte ich damit keine Probleme,aber im Internet verzögern sich die (highlight)Bilder,wenn man mit der Maus drüberfährt
    (jedes hat ca.2kb)
    Kann man die beim Seitenaufbau schon laden?

    Danke, Cu

  • Folgenden JavaScript-Code musst Du einbinden:

    Code
    function MM_preloadImages() {//v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

    Wenn Du Fragen hast, wie man den einbindet, frag!

    Anschließend fügst Du bei body den EventHandler onLoad ein. Siehe Beispiel:

    Code
    <body onload="MM_preloadImages('images/bild1_on.gif','images/bild2_on.gif','images/bil3_on.gif');">
  • na doch so:


    zwischen <head> und </head>

    Code
    <script language="JavaScript">
    <!--
    function MM_preloadImages() {//v3.0 
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) 
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 
    }
    //-->
    </script>

    _____________________________

    im <body> - tag:

    Code
    <body onload="MM_preloadImages('bild1.gif','bild2.gif','bild3.gif','..');">

    da gibste alle bilder an, die in deiner navi drin sind.. und so. :D

  • .. und immer schön die kommas im auge behalten. das wird bei 30 bildern schwierig.. und wenn man dann noch becks trinkt.. :roll:

    stimmts beatz?

  • Bei 30 Bildern wird es sicherlich langsam unübersichtlich, vor allem, wenn die Bilder nicht alle im DocumentRoot liegen, sondern tief verwurzelt ;)
    Ab der richtigen Menge Becks wird es auch schon bei zwei Bildern unübersichtlich *GGG* :wink:

  • .. das ist dann natürlich der einzige vorteil eines webseitenmachprogramms. da klickt man einfach das teil an und der pfad wird (hoffentlich relativ) eingebunden. auch mit 12 becks. :?

    oder man lagert die dateiangaben einfach aus.. da ist der quellcode für die auslagerung 12 din-a4 seiten lang. :P

  • Zitat von jaaam

    .. das ist dann natürlich der einzige vorteil eines webseitenmachprogramms. da klickt man einfach das teil an und der pfad wird (hoffentlich relativ) eingebunden. auch mit 12 becks. :?

    Und man hat den Vorteil, dass man den Code, der Macromedia gehört, auch benutzen darf. Wer nämlich nicht im Besitz eines HTML-Editors von Macromedia ist und den Code trotzdem verwendet, der verwendet eine Raubkopie

    Stefan

  • Zitat von Don P.


    Kann man die beim Seitenaufbau schon laden?

    Dieser hier ist legal und frei verwendbar und einfacher als der MM-Müll:

    Stefan

  • Greets @ all

    Bein grad wieder auf den Thread gestoßen und hab die Geschchte von stefan999 ausprobiert!

    Jedes mal wenn ich bei body den EventHandler onload hineinschreibe (sowohl bei der Methode vom Stefan als auch bei der MM-Methode) zeigt mir der Iexplore links unten ein gelbes Ausrufezeichen(Fehler auf der Seite)

    Im FireFox wird kein Fehler angezeigt...
    Was ist da verkehrt?
    Thx

    So sieht das ganze aus...

    <html>
    <head>

    <script type="text/javascript">
    function PreloadImages() {
    image1 = new Image();
    image1.src = "pics/menu/1b.gif";
    image2 = new Image();
    image2.src = "pics/menu/2b.gif";
    image3 = new Image();
    image3.src = "pics/menu/3b.gif";
    image4 = new Image();
    image4.src = "pics/menu/4b.gif";
    image5 = new Image();
    image5.src = "pics/menu/5b.gif";
    image6 = new Image();
    image7.src = "pics/menu/6b.gif";

    }
    </script>

    <script type="text/javascript">
    <!--
    Normal1 = new Image()
    Normal1.src = "pics/menu/1a.gif"
    Highlight1 = new Image()
    Highlight1.src = "pics/menu/1b.gif"

    Normal2 = new Image()
    Normal2.src = "pics/menu/2a.gif"
    Highlight2 = new Image()
    Highlight2.src = "pics/menu/2b.gif"

    Normal3 = new Image()
    Normal3.src = "pics/menu/3a.gif"
    Highlight3 = new Image()
    Highlight3.src = "pics/menu/3b.gif"

    Normal4 = new Image()
    Normal4.src = "pics/menu/4a.gif"
    Highlight4 = new Image()
    Highlight4.src = "pics/menu/4b.gif"

    Normal5 = new Image()
    Normal5.src = "pics/menu/5a.gif"
    Highlight5 = new Image()
    Highlight5.src = "pics/menu/5b.gif"

    Normal6 = new Image()
    Normal6.src = "pics/menu/6a.gif"
    Highlight6 = new Image()
    Highlight6.src = "pics/menu/6b.gif"


    function Bildwechsel(Bildnr,Bildobjekt) {
    window.document.images[Bildnr].src = Bildobjekt.src;
    }
    //-->
    </script>
    </head>
    <body bgcolor = "C0C0C0" onload="PreloadImages('/pics/menu/1b.gif','/pics/menu/2b.gif','/pics/menu/3b.gif','/pics/menu/4b.gif','/pics/menu/5b.gif','/pics/menu/6b.gif');">
    ---
    ---
    ---
    <a target = "untenrechts" href="history.html"
    onMouseOver="Bildwechsel(0,Highlight1)"
    onMouseOut="Bildwechsel(0,Normal1)">
    </a>


    <a target = "untenrechts" href="haus.html"
    onMouseOver="Bildwechsel(1,Highlight2)"
    onMouseOut="Bildwechsel(1,Normal2)">
    </a>


    <a target = "untenrechts" href="kontakt.html"
    onMouseOver="Bildwechsel(2,Highlight3)"
    onMouseOut="Bildwechsel(2,Normal3)">
    </a>


    <a target = "untenrechts" href="haus.html"
    onMouseOver="Bildwechsel(3,Highlight4)"
    onMouseOut="Bildwechsel(3,Normal4)">
    </a>


    <a target = "untenrechts" href="anfahrt.html"
    onMouseOver="Bildwechsel(4,Highlight5)"
    onMouseOut="Bildwechsel(4,Normal5)">
    </a>


    <a target = "untenrechts" href="anfahrt.html"
    onMouseOver="Bildwechsel(5,Highlight6)"
    onMouseOut="Bildwechsel(5,Normal6)">
    </a>


    ---

    ????