Announcement

Collapse
No announcement yet.

Laufschrift

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Laufschrift

    Ich hoffe ich bin hier im Richtigen Unterforum.

    Ich habe folgendes Problem:

    Auf unser Firmenhomepage soll es einen Lauftext (vertikal) geben, wo aktuelle Jobs angeboten werden (Anhang: oberes Bild). Soweit so gut. Allerdings erscheint am Ende erstmal eine Leerzeile, die so groß ist, wie das DIV in dem der Lauftext erscheint, ehe der Text wiederholt wird. (Anhang: mittlere drei Bilder).

    Ziel soll sein, dass sich der Text ohne Lücke wiederholt (Anhang: unteres Bild). Meine bisherigen Versuche endeten immer in einer Endlosschleife, was sich in soweit ausgewirkt hat, dass ab der Stelle die restliche Seite nicht mehr aufgebaut wurde. Was aufgrund der Tatsache der Endlosschleife ja auch irgendwie verständlich ist.

    Es muss doch hierfür irgendeine komfortable Lösung geben. Ich hoffe ihr könnt mir helfen.

    PHP Code:
    $proj '';
    $queryProjekte "SELECT *****";
    $projekte mysql_query($queryProjekte);
    while (
    $pro mysql_fetch_object($projekte)) {
         
    $proj .= "<div style=\"width: 203px; padding: 7px 7px 20px 7px;\"><a href=\"/node/64/0/" .  $pro->id "\" class=\"marqueechange\">" utf8_encode($pro->titel) . "</a><br></div>";

    HTML Code:
    <div id="marqueeheader">Wir suchen...</div>
    
    <div id="marqueecontainer" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">
         <div id="vmarquee"><?php echo $proj; ?></div>
    </div>
    Code:
    var delayb4scroll=500
    var marqueespeed=1
    var pauseit=1
    var copyspeed=marqueespeed
    var pausespeed=(pauseit==0)? copyspeed: 0
    var actualheight=''
    
    function scrollmarquee() {
        if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+8)) {
            cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed+"px"
        } else {
            cross_marquee.style.top=parseInt(marqueeheight)+8+"px"
        }
    }
    
    function initializemarquee() {
        cross_marquee=document.getElementById("vmarquee")
        cross_marquee.style.top=0
        marqueeheight=document.getElementById("marqueecontainer").offsetHeight
        actualheight=cross_marquee.offsetHeight
        if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1){ 
            cross_marquee.style.height=marqueeheight+"px"
            cross_marquee.style.overflow="scroll"
            return
        }
        setTimeout('lefttime=setInterval("scrollmarquee()",30)', delayb4scroll)
    }
    
    if (window.addEventListener) {
        window.addEventListener("load", initializemarquee, false)
    } else if (window.attachEvent) {
        window.attachEvent("onload", initializemarquee)
    } else if (document.getElementById) {
        window.onload=initializemarquee
    }
    Attached Files

  • #2
    Was hat die Frage mit PHP und Datenbanken zu tun?

    PHP läuft serverseitig. damit wird sich kein Lauftext realisieren lassen.

    Des Weiteren: Was ist die Frage?
    Javascripte für Lauftexte gibt es wie Sand am Meer...
    Christian

    Comment


    • #3
      PHP und Datenbanken deswegen,

      weil die Seite über PHP läuft, und ich im Prinzip die Daten aus ner Datenbank holen. Deswegen war ich mir ja nicht sicher.

      Ja die gibt es wie Sand am Meer. Nur bei (fast?) allen habe ich bisher dasselbe gesehen, dass am Ende erstmal eine Lücke kommt, ehe der Text wiederholt wird.

      Kann sein, dass das auch eher zu JavaScript gehört. War mir halt bei der Zuordnung nicht sicher

      Comment


      • #4
        Hallo,
        Originally posted by hamburger_1983 View Post
        PHP und Datenbanken deswegen,

        weil die Seite über PHP läuft, und ich im Prinzip die Daten aus ner Datenbank holen. Deswegen war ich mir ja nicht sicher.
        Bringst du eigentlich dein Auto zur Tankstelle, weil es ja einen Motor hat und mit Benzin fährt, obwohl eigentlich das Radio kaputt ist?

        Wenn du jetzt klären kannst WO du das Problem hast, ob bei der Abfrage der DB mit PHP oder doch mit der Rotation des Containers via JS, dann werde ich den Thread passend verschieben.

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Bei genauerer Betrachtung müsste der Fehler in der Rotation des Containers via JS laufen.

          Weil den anderen Fehler habe ich ja schon ausgeschlsosen gehabt - eigentlich. Durch die "endlosschleife"

          Comment


          • #6
            Hallo,

            habs mal hierher nach Javascript verschoben.

            Nach grober Betrachtung ist es auch kein Fehler im eigentlichen Sinne. Das JS macht ja was es soll. Der Container wird solange nach oben geschoben, bis er komplett verschwunden ist. Dadurch entsteht natürlich unterhalb erstmal eine Lücke. Der Fehler liegt also hier im Design bzw. im Konzept.
            Um eine lückenlose Rotation zu realisieren, benötigst du ZWEI Instancen deines Marquee-Containers. Während der Erste nach oben wandert, muß der Zweite gleichzeitig von unten eingeschoben werden, so dass der Eindruck eines lückenlosen Umlaufs entsteht.

            Gruß Falk
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment


            • #7
              So was in der Art hatte ich mir schon gedacht gehabt und überlegt, dass ich dann einfach den Text wiederholen lasse - das war dann das Resultat der Endlosschleife.

              Eine Idee das problemlos zu realisieren, habe ich leider nicht. Vielleicht kann mir hier mal jemand unter die Arme greifen.

              JS ist nämlich nicht ganz so mein Gebiet, sondern PHP. Also habt Nachsicht mit mir

              Comment


              • #8
                Warum willst du das mit Javascript selbst programmieren? Macht das marquee-Element (http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx, https://developer.mozilla.org/en/HTML/Element/marquee) nicht, was du erreichen willst?

                Comment


                • #9
                  Weil ich dort denselben "Effekt" habe, dass der Text mit einer riesigen Lücke endet

                  Comment


                  • #10
                    Hallo,
                    Originally posted by hamburger_1983 View Post
                    ...Eine Idee das problemlos zu realisieren, habe ich leider nicht. Vielleicht kann mir hier mal jemand unter die Arme greifen.
                    Naja, eigentlich brauchst du doch nur das was du bereits hast um einen zweiten Container erweitern, der dann um die "Lücke" versetzt nach oben geschoben wird.
                    Wenn du jedoch etwas programmiert haben möchtest, dann kannst du gerne ein Angebot unter Diverses/Jobs einstellen.

                    Gruß Falk
                    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                    Comment

                    Working...
                    X