jagognussel: ich benötige 2 "onLoad". Aber wie?

Hi Leute!

Es ist ja immer das Gleiche. Will man eine kleine Spielerei auf seiner HP haben, ist der Griff auf ein JS-Schnipsel nicht weit. Will man seine HP dann aber validieren lassen, gibts immer Ärger. Leider!

Also, ich will einen kleinen NewsTicker haben. Den den javascript-Code habe ich als: "ticker.js" abgespeicht, um hiermit die Validierung zu umgehen.

Aber, wie binde ich nun einen Befehl ein, der diesen Ticker nun zur Anzeige bringt? Mein "Body" ist bereits mit einem: "onload" als: <body onload="runSlideShow();"> besetzt.

Natürlich habe ich mir unter "JS Einführung DOM" das Anzeigenbeispiel  "Quadrat" angesehen und ausprobiert.

Da ich jedoch nur einen Ticker beim Start der Seite autom. loslaufen lassen möchte, benötige ich hier keinen Button und auch kein Eingabefeld.

Was muss ich also einsetzen, damit es funktioniert? Da ich Anfänger bin, bin ich hier arg überfordert und ratlos.

Gruß
Jagognussel

  1. Hi Leute!

    Was muss ich also einsetzen, damit es funktioniert? Da ich Anfänger bin, bin ich hier arg überfordert und ratlos.

    Gruß
    Jagognussel

    Hi Jagohnossel,
    ich habe da was für Dich gefunden :)

    Grüße!

    1. Hi Jagohnossel,
      ich habe da was für Dich gefunden :)

      Grüße!

      Hi!

      Ja das habe ich mir nun angesehen. Leider funktioniert der Link:

      view-source:http://wwwtech.de/moorhuhn/index1.htm

      nicht. Schade, denn das hätte ich mir sehr gerne angesehen, da ich leider noch nicht in der Lage bin selbst so etwas zu schreiben.

      Gruß
      Jagognussel

  2. Es ist ja immer das Gleiche. Will man eine kleine Spielerei auf seiner HP haben, ist der Griff auf ein JS-Schnipsel nicht weit. Will man seine HP dann aber validieren lassen, gibts immer Ärger. Leider!

    Vermutlich, weil du unbedingt XHTML benutzen willst und nicht weißt, dass ein JS Block ein CDATA Block sein muss?
    http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style

    Aber, wie binde ich nun einen Befehl ein, der diesen Ticker nun zur Anzeige bringt? Mein "Body" ist bereits mit einem: "onload" als: <body onload="runSlideShow();"> besetzt.

    JS Eventhandler im HTML code sind nicht schön und auch nicht Zeitgemäß, ließ dir mal den Artikel durch

    Was muss ich also einsetzen, damit es funktioniert? Da ich Anfänger bin, bin ich hier arg überfordert und ratlos.

    z.b. so:

    window.onload = function() {  
    newsticker();  
    };  
    
    

    Struppi.

    1. Es ist ja immer das Gleiche. Will man eine kleine Spielerei auf seiner HP haben, ist der Griff auf ein JS-Schnipsel nicht weit. Will man seine HP dann aber validieren lassen, gibts immer Ärger. Leider!

      Vermutlich, weil du unbedingt XHTML benutzen willst und nicht weißt, dass ein JS Block ein CDATA Block sein muss?
      http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style

      Aber, wie binde ich nun einen Befehl ein, der diesen Ticker nun zur Anzeige bringt? Mein "Body" ist bereits mit einem: "onload" als: <body onload="runSlideShow();"> besetzt.

      JS Eventhandler im HTML code sind nicht schön und auch nicht Zeitgemäß, ließ dir mal den Artikel durch

      Was muss ich also einsetzen, damit es funktioniert? Da ich Anfänger bin, bin ich hier arg überfordert und ratlos.

      z.b. so:

      window.onload = function() {

      newsticker();
      };

      
      >   
      > Struppi.  
        
        
      Hi Struppi!  
        
      Deinen Code habe ich nun so:  
        
      ~~~html
      <script type="text/javascript">  
      <!--  
      window.onload = function() {  
      initiateticker();  
      };  
      //-->  
      </script>
      

      eingesetzt. Ist das falsch? Ich bekomme nämlich die Fehlermeldung: "Zeile: 186" (also bei: initiateticker();), Zeichen: 1, Fehler: Objekt erwartet, Code: 0, URL: file:///.......... .

      Ich benutze übrigens kein XHTML, sondern nur das normale HTML.

      Wenn Du magst, kannst Du Dir die Seite unter: "www.my-great-fascination.de" ansehen.

      Gruß
      Jagognussel

      1. Struppi.

        Bitte zitiere nur das worauf deine Antwort dich konkret bezieht und lösche den Rest, Danke.

        Deinen Code habe ich nun so:

        <script type="text/javascript">

        <!--
        window.onload = function() {
        initiateticker();
        };
        //-->
        </script>

        
        >   
        > eingesetzt. Ist das falsch? Ich bekomme nämlich die Fehlermeldung: "Zeile: 186" (also bei: initiateticker();), Zeichen: 1, Fehler: Objekt erwartet, Code: 0, URL: file:///.......... .  
          
        Der Fehler kann nicht von diesen Zeilen kommen. Testet du auch mit einem anderen Browser? Die Fehlermeldungen im IE sind oft nicht besonders hilfreich.  
          
        
        > Ich benutze übrigens kein XHTML, sondern nur das normale HTML.  
          
        Dann verstehe ich deine Problem mit dem validieren nicht.  
          
        
        > Wenn Du magst, kannst Du Dir die Seite unter: "[www.my-great-fascination.de](http://www.my-great-fascination.de)" ansehen.  
          
        Zumindest im Firefox werden dort keine Fehler angezeigt.  
          
        Struppi.
        
        1. Ich bekomme nämlich die Fehlermeldung: "Zeile: 186" (also bei: initiateticker();), Zeichen: 1, Fehler: Objekt erwartet, Code: 0, URL: file:///.......... .

          Der Fehler kann nicht von diesen Zeilen kommen. Testet du auch mit einem anderen Browser? Die Fehlermeldungen im IE sind oft nicht besonders hilfreich.

          Zumindest im Firefox werden dort keine Fehler angezeigt.

          Struppi.

          Hi Struppi!

          Das ist klar. Diesen Code habe ich ja auch nicht im Netz. Der Fehler wird angezeigt, wenn ich in meinem Editor (Homesite) in die Browseransicht gehe.

          <script type="text/javascript">  
          
          > <!--  
          > window.onload = function() {  
          > initiateticker();  
          > };  
          > //-->  
          > </script>
          
          

          Gruß
          Jagognussel

          1. Das ist klar. Diesen Code habe ich ja auch nicht im Netz. Der Fehler wird angezeigt, wenn ich in meinem Editor (Homesite) in die Browseransicht gehe.

            Was immer dann passiert. Aber wir können dir nicht helfen, wenn du nicht schaffst das Problem nachvollziehbar zu beschreiben.

            <script type="text/javascript">

            <!--
            window.onload = function() {
            initiateticker();
            };
            //-->
            </script>

              
            das ist kein Fehler und funktioniert 100% wenn die Funktion existiert, um auch das zu prüfen, kannst du ja mal einen test einbauen:  
            ~~~javascript
            window.onload = function() {  
            if(initiateticker)initiateticker();  
            };
            

            Wenn der Fehler dann immer noch kommt, ist der Fehler nicht hier sondern irgendwo.

            Struppi.

            1. das ist kein Fehler und funktioniert 100% wenn die Funktion existiert, um auch das zu prüfen, kannst du ja mal einen test einbauen:

              window.onload = function() {

              if(initiateticker)initiateticker();
              };

              
              >   
              > Wenn der Fehler dann immer noch kommt, ist der Fehler nicht hier sondern irgendwo.  
              >   
              >   
              > Struppi.  
                
                
                
              Hi Struppi!  
                
              Danke für Deinen Test! Den habe ich nun gleich einmal ausprobiert. Ergebnis:  
              "initiateticker ist undifiniert". Was nun? Also, ich will gerne alles beibringen, was Euch hilft, mir zu helfen. Darf ich mein script mal anhängen?  
                
              Gruß  
              Jagognussel 
              
              1. Danke für Deinen Test! Den habe ich nun gleich einmal ausprobiert. Ergebnis:
                "initiateticker ist undifiniert". Was nun?

                Dann fehlt wohl die Funktion initiateticker, du hast das Skript entweder nicht oder falsch eingebunden.

                Struppi.

                1. Dann fehlt wohl die Funktion initiateticker, du hast das Skript entweder nicht oder falsch eingebunden.

                  Struppi.

                  Hi Struppi!

                  Also, so sieht dieses Script aus mit einer " function initiateticker() ". Ich war der Meinung, dass ich mich hierauf beziehen muß. Ist das falsch gedacht von mir? Aber, wie muß ich es dann nennen?

                  // Copyright (c) 2000 Peter Gehrig and Urs Dudli. All rights reserved.  
                  // http://www.24fun.com.info@24fun.ch  
                    
                  //Start der Message  
                  var message=new Array()  
                  var message=new Array()  
                  message[0]="++ Finja wurde am 14.10.08 von Trebell Taken By Storm gedeckt."  
                  message[1]="++ Finja ist tragend!"  
                  message[2]="++ Mehr unter Wurfplanung und News."  
                    
                  var tickerpadding=10 //Distanz  
                  var fnt="Arial" //Schriftart des BG-Textes  
                  var fntsize=12 //Schriftgrösse des BG-Textes  
                  var fntcolor="CCDDCC" //Schriftfarbe des BG-Textes  
                  var fntsizelastletter=30 //Schriftgrösse des Scrollbuchstaben  
                  var fntcolorlastletter="88FF88" //Schriftfarbe des Scrollbuchstaben  
                  var fntweight=7 //Schriftgrösse der Message (1-9)  
                  var standstill=2000 //Stillstand des Tickers bevor Neustart  
                  var speed=40 //Ticker-Geschwindigkeit  
                  var leftposition=320 //Position von links  
                  var topposition=250 //Position von oben  
                  var tickerwidth = 200  
                  var tickerheight = 25  
                  var i_substring=0  
                  var i_presubstring=0  
                  var i_message=0  
                  var messagecontent=""  
                  var messagebackground=""  
                  var messagepresubstring=""  
                  var messageaftersubstring=""  
                  fntweight=fntweight*100  
                    
                  function initiateticker() {  
                  if (document.all) {  
                  tickerheight = document.body.clientHeight-5  
                  tickerwidth = document.body.clientWidth-5  
                  document.all.ticker.style.posLeft=leftposition  
                  document.all.ticker.style.posTop=topposition  
                  showticker()  
                  }  
                  if (document.layers) {  
                  tickerheight = window.innerHeight-10  
                  tickerwidth = window.innerWidth-10  
                  document.ticker.left=leftposition  
                  document.ticker.top=topposition  
                  showticker()  
                  }  
                  }  
                  function getmessagecontent() {  
                  messagepresubstring=message[i_message].substring(0,i_presubstring)  
                  messageaftersubstring=message[i_message].substring(i_presubstring,i_substring)  
                  messagecontent="<table border=0 cellpadding="+tickerpadding+" width="+tickerwidth+" height="+tickerheight+"><tr><td valign=top>"  
                  messagecontent+="<span style='position:relative; font-family:"+fnt+";color:"+fntcolor+";font-size:"+fntsize+"pt;font-weight:"+fntweight+"'>"  
                  messagecontent+="<font color='"+fntcolor+"'>"  
                  messagecontent+=messagepresubstring  
                  messagecontent+="</font>"  
                  messagecontent+="</span>"  
                  messagecontent+="<span style='position:relative; font-family:"+fnt+";color:"+fntcolor+";font-size:"+fntsizelastletter+"pt;font-weight:900'>"  
                  messagecontent+="<font color='"+fntcolorlastletter+"'>"  
                  messagecontent+=messageaftersubstring  
                  messagecontent+="</font>"  
                  messagecontent+="</span>"  
                  messagecontent+="</td></tr></table>"  
                  }  
                  function showticker() {  
                  if (i_substring<=message[i_message].length-1) {  
                  i_substring++  
                  i_presubstring=i_substring-1  
                  if (i_presubstring<0) {i_presubstring00}  
                  getmessagecontent()  
                  if (document.all) {  
                  ticker.innerHTML=messagecontent  
                  var timer=setTimeout("showticker()", speed)  
                  }  
                  if (document.layers) {  
                  document.ticker.document.write(messagecontent)  
                  document.ticker.document.close()  
                  var timer=setTimeout("showticker()", speed)  
                  }  
                  }  
                  else {  
                  clearTimeout(timer)  
                  var timer=setTimeout("changemessage()", standstill)  
                  }  
                  }  
                  function changemessage() {  
                  i_substring=0  
                  i_presubstring=0  
                  i_message++  
                  if (i_message>message.length-1) {  
                  i_message=0  
                  }  
                  showticker()  
                  }
                  

                  Das Script selbst habe ich unter: "ticker.js" abgespeichert.

                  Ich danke mir, wenn Du mir da helfen könntest.
                  Danke
                  Jagognussel

                  1. Dann fehlt wohl die Funktion initiateticker, du hast das Skript entweder nicht oder falsch eingebunden.

                    Struppi.

                    Wenn du eine Nachricht beantwortest, darfst du die Zeilen die du zitierst nicht ändern, sonst sieht man nicht was von dir stammt oder was zitiert wurde.

                    Also, so sieht dieses Script aus mit einer " function initiateticker() ". Ich war der Meinung, dass ich mich hierauf beziehen muß. Ist das falsch gedacht von mir? Aber, wie muß ich es dann nennen?

                    Nein, es ist nicht falsch gedacht, nur wenn du in der von dir genannten Zeile einen Fehler hast, dann stimmt irgendwas mit der Funktion nicht, was ergibt denn alert(typeof initiateticker);?

                    [code lang=javascript]// Copyright (c) 2000 Peter Gehrig and Urs Dudli. All rights reserved.

                    Das Skript ist hoffnungslos veraltet und wurde noch für Browser der 4. Generation geschrieben. Es dürfte also so im FF nicht lauffähig sein und der IE macht da nur mit, weil er auch Altlasten versucht zu interpretieren.

                    Ein aktuellers Skript wäre sinnvoller als an diesem rumzudoktorn.

                    Struppi.

          2. Ich bekomme nämlich die Fehlermeldung: "Zeile: 186" (also bei: initiateticker();), Zeichen: 1, Fehler: Objekt erwartet, Code: 0, URL: file:///.......... .

            Du musst das Script, in dem initiateticker definiert werden, vor dem Script einbinden, das window.onload setzt.

            Mathias

  3. Es ist ja immer das Gleiche. Will man eine kleine Spielerei auf seiner HP haben, ist der Griff auf ein JS-Schnipsel nicht weit. Will man seine HP dann aber validieren lassen, gibts immer Ärger. Leider!

    jaja, das leidige thema: javascript und flash saugen das "valide" aus einer seite raus ...

    ich kann
    struppis feststellung untermauern, dein code ist valide - wo ist der fehler?