Felix Riesterer: Verständnisfragen

Beitrag lesen

Lieber Dominik,

will ich auch hier learning by doing: Ich will das Skript so erweitern, dass manche Bilder verlinkt sind.

sehr ehrenwert!

Mein Ansatz:

// werbung verlinken

this.link[0] = document.createElement("a");
        this.link[0].href = "http://schwarzwald-logistik.de/";
        this.link[0].title = "SL-Logistik";

Ich denke da eher an einen init-Aufruf dieser Art:

[code lang=javascript]FaderFramework.init({
    id: ...,
    images: ["erstesBild.jpg", "zweitesBild.jpg"],
    hrefs: ["http://erste-werbung.example.org", "http://zweite-werbung.example.org"],
    titles: ["Werbung1", "Werbung2"],
    random: true
});

  
Damit hast Du dann in jedem this.inits[?] ein Objekt mit den üblichen Zutaten PLUS eben Deiner Linkziele samt Titel.  
  
~~~javascript
var a;  
for (i = 0; i < einstellungen.images.length; i++) {  
    a = document.createElement("a");  
    a.href = einstellungen.hrefs[i];  
    a.title = einstellungen.titles[i];  
  
    img = document.createElement("img");  
    img.src = einstellungen.images[i];  
    img.alt = einstellungen.titles[i];  
  
    if (i > 0) {  
        img.className = "next";  
        img.style.opacity = "0";  
        // IE?  
        img.style.filter = "alpha(opacity=0)";  
    }  
  
    a.appendChild(img);  
    this.element.appendChild(a);  
}

Da wäre dann eigentlich eine andere Objektverschachtelung sinnvoller (weil übersichtlicher und robuster):

FaderFramework.init({  
    id: ...,  
    ads : [  
        {  
            image: "erstes-bild.jpg",  
            href: "http://erste-werbung.example.org/",  
            title: "Erstes Werbebanner"  
        },  
  
        {  
            image: "zweites-bild.jpg",  
            href: "http://zweite-werbung.example.org/",  
            title: "Zweites Werbebanner"  
        }  
    ],  
    random: true  
});

Jedoch müsste man dann den Konstruktor wesentlich umbauen, denn es wird jede Werbung als ein eigenes Objekt (bestehend aus Bild-URL, Link-URL und Titel) übertragen. Das wäre dann so:

var a;  
for (i = 0; i < einstellungen.ads.length; i++) {  
    a = document.createElement("a");  
    a.href = einstellungen.ads[i].href;  
    a.title = einstellungen.ads[i].title;  
  
    img = document.createElement("img");  
    img.src = einstellungen.ads[i].image;  
    img.alt = einstellungen.ads[i].title;  
  
    if (i > 0) {  
        img.className = "next";  
        img.style.opacity = "0";  
        // IE?  
        img.style.filter = "alpha(opacity=0)";  
    }  
  
    a.appendChild(img);  
    this.element.appendChild(a);  
}

Firefox gibt eine kryptische Fehlermeldung zurück und bricht das Skript ab.

<sarkasmus>Gewöhne Dir bitte garnicht erst an, solche wichtigen Fehlermeldungen zu beachten, und poste sie um Himmels Willen hier auf garkeinen Fall! Das nervt und hilft nicht weiter!</sarkasmus>

;-)

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
3 52

Fader zum Bilder überblenden - ein kleiner Lehrgang

Felix Riesterer
  • javascript
  1. 2

    Das Script (Teil1)

    Felix Riesterer
    1. 1

      Das Script (Teil1) - Reflektion zum Code

      Felix Riesterer
      1. 0
        bosselmann
        1. 0
          Felix Riesterer
    2. 2

      alternativer loesungsansatz (teil1): model, view, ...

      peterS.
      1. 0

        alternativer loesungsansatz (teil2): .., controller.

        peterS.
        1. 0

          alternativer loesungsansatz (teil2): code review (teil 1?)

          peterS.
          1. 0

            alternativer loesungsansatz (teil2): code review (teil 2?)

            peterS.
            1. 0

              alternativer loesungsansatz (teil2): code review (teil 3)

              peterS.
      2. 0
        Felix Riesterer
        1. 0

          konkurrierende ansaetze

          peterS.
          1. 0
            Felix Riesterer
  2. 0

    SELFHTML-Artikel statt Forumsbeitrag?

    Vinzenz Mai
    • meinung
    1. 0
      Felix Riesterer
      1. 0
        Siechfred
        1. 0
          Felix Riesterer
        2. 0

          SELFHTML-Artikel - bin schon fleißig dabei!

          Felix Riesterer
        3. 0

          Artikel eingeschickt

          Felix Riesterer
          1. 0
            Siechfred
            • menschelei
            1. 0
              dedlfix
            2. 1
              Felix Riesterer
    2. 0
      Felix Riesterer
  3. 0

    Das Script (Teil 2)

    Felix Riesterer
  4. 0

    Das Script (Teil 3)

    Felix Riesterer
  5. 0

    Das Script (Endergebnis)

    Felix Riesterer
    1. 1
      molily
      1. 0
        Felix Riesterer
        1. 0
          Struppi
          1. 0
            Felix Riesterer
            1. 0
              bosselmann
              1. 0
                Felix Riesterer
                1. 0

                  Falscher Thread-Zweig...:-/

                  Felix Riesterer
                  1. 0

                    Verständnisfragen

                    bosselmann
                    1. 0
                      Felix Riesterer
                      1. 0
                        bosselmann
                        1. 0
                          Felix Riesterer
                          1. 0
                            bosselmann
                            1. 0
                              Felix Riesterer
                              1. 0

                                Skriptergänzung

                                bosselmann
                                1. 0
                                  Felix Riesterer
                                  1. 0

                                    Skriptergänzung (finale Version)

                                    bosselmann
                                    1. 0
                                      Felix Riesterer
  6. 0
    Felix Riesterer
    1. 0
      Beat
      1. 0

        Review-Version des Lehrgangs

        Felix Riesterer
        1. 0
          Beat
          1. 0
            Felix Riesterer
        2. 0
          Struppi
          1. 0
            Felix Riesterer
            1. 0
              Struppi
              1. 0
                Felix Riesterer