Frage ausschliesslich für Profis - document.createTextNode

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage ausschliesslich für Profis - document.createTextNode

    hallo,
    hab mir ein newsscoller gezogen, der's wirklich in sich hat.
    klasse teil mit doku, aber für einen js-laien nicht nachvollziebar!

    das problem:

    möchte gerne html in diesem scroller verwenden,
    leider bleibt das "wie" ein offenes geheimnis. die doku sagt folgendes, wie man's machen sollte:

    Images and other HTML in news items
    Open the source file newsscroller.js. Change the NewsScroller_RenderChildren() function, replacing the part that calls document.createTextNode(this.itemsText[nItem]) with code that modifies the innerHTML property of the elmA object, which is the anchor (A) element for the news item.


    die entsprechenden zeilen:
    PHP-Code:
    // Supporting functions
    function NewsScroller_RenderChildren()
    {
        var 
    sControlID this.renderedControl;
        
    elmControl document.getElementById(sControlID);
        
        
    // <DIV>
        
    elmDiv document.createElement("div");
        
    elmDiv.style.position "absolute";
        
    elmDiv.style.left "0px";
        
    elmDiv.style.width "100%";
        
    elmDiv.style.height "100%";
        
    elmDiv.style.overflow "hidden";
        
    elmControl.appendChild(elmDiv);
        
        for (var 
    nItem 0nItem this.itemCountnItem++)
            {
            var 
    sItemName sControlID nItem.toString();
            
            var 
    elmP document.createElement("p");
            
    elmP.id sItemName;
            
    elmP.style.position "relative";
            
    elmP.style.top "0px";
            
    elmP.style.width "100%";
            
    elmP.className this.itemNormalClassName;
            
    elmDiv.appendChild(elmP);
            
            var 
    elmA document.createElement("a");
            
    elmA.className this.itemNormalClassName;
            
    elmA.href this.itemsLink[nItem];
            
    elmP.appendChild(elmA);
            
            var 
    tn document.createTextNode(this.itemsText[nItem]);
            
    elmA.appendChild(tn);
            
            }


    demo:
    http://www.sharepointcustomization.c...er_example.htm

    doku:
    http://www.sharepointcustomization.c...#Customization

    kann mir jemand, der das versteht weiterhelfen?
    danke, gruss
    b.

  • #2
    ganz einfach, du sollst die Zeile var tn = ... mit Code ersetzen, die die Eigenschaft innerHTML des erstellten a-Tags modifiziert, also:
    - erstmal auskommentieren
    - und neue Zeile rein, dabei kannst/sollst du, abhängig von nItem den Text versch. gestalten; hier habe ich nItem.toString() nur zur Verdeutlichung eingesetzt.

    -> und fertig.

    //var tn = document.createTextNode(this.itemsText[nItem]);
    //elmA.appendChild(tn);
    elmA.innerHTML = '<font color=red>test</font> <b>bla</b> <i>bla</i> ' + nItem.toString();

    btw: das Teil läuft nur unter IE!

    Kommentar


    • #3
      hallo du guru,
      also erstmal danke für deine antwort.

      php lässt sich ja noch einigermassen intuitiv erlernen,
      aber js scheint wohl eher was für leute mit erweitertem horizont zu sein ;-)

      teste das gleich mal aus,
      nochmals danke!

      btw: läuft mur im ie? mhhh
      haste nen anderen browser und kannst mir sagen, was mandann sieht?
      grüsse
      bastian

      Kommentar


      • #4
        Original geschrieben von bastian
        btw: läuft mur im ie? mhhh
        haste nen anderen browser und kannst mir sagen, was mandann sieht?
        man downloade sich einen anderen browser á la firefox.

        wie es aussieht findest du im anhang. es wird dargestellt, aber es scrollt nix.
        Angehängte Dateien
        Zuletzt geändert von hansi; 05.07.2004, 08:38.

        Kommentar


        • #5
          'ändern' und 'zitat' sind leider recht dicht nebeneinander.

          Kommentar


          • #6
            danke hansi!

            nochmal ne frage an asp2php:

            wenn ich deine änderungen übernehme, kann ich zwar html-formatierten text anzeigen lassen, leider läuft dann aber der text (der aus der db kommt) nicht mehr.

            eigentlich wollte ich ja nur, das die links als "_parent" aufgehen,
            gebe ich jedoch target="_parent" hier ein,

            PHP-Code:
            echo "scrollerMain.AddNewsItem ( \"".$feld."\",\"".$url."\");"
            bekomme ich ne ascii-fehlermeldung vom script...

            (mann, ist das kompliziert)
            haste eine idee, wie ich mit innerHTML sagen kann, das die verweise als neues bzw. parent-fenster behandelt werden?

            gruss
            bastian

            Kommentar


            • #7
              Original geschrieben von bastian
              wenn ich deine änderungen übernehme, kann ich zwar html-formatierten text anzeigen lassen, leider läuft dann aber der text (der aus der db kommt) nicht mehr.
              dann ist vermutlich der text, der aus der DB kommt, kein korrektes HTML.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                das hat aber nun mit deiner ursprünglichen Beschreibung nichts zu tun

                OK. z.B. mit elmA.target = "_blank"; wird ein neues Fenster erzeugt. Mach was draus.

                Kommentar


                • #9
                  ** J U H U **

                  perfekt!
                  wärste ne süsse brünette, ich würd dich knutschen!
                  nichts-desto-weniger: vielen lieben dank!

                  beste grüsse aus essen
                  bastian

                  Kommentar


                  • #10
                    Original geschrieben von bastian

                    wärste ne süsse brünette, ich würd dich knutschen!
                    bin zum Glück keine Brünette, verzichte aber sonst auch gerne drauf

                    Kommentar

                    Lädt...
                    X