calconeon: Ticker

Hi,

das Problem gehört eigentlich auch noch in HTML, weiles gleich 2 sind.

Zum einen: Wie ich kann ich einem Textfeld (Ticker) HTML-FOrmatirungen realisieren (wenigstens einen Link).

Und: Wieso zeigen das die Browser so komisch an?

--> http://www.sn.schule.de/~mcg2/index.php?id=001&id_top=001

CSS:
form.ticker {
 width:100%;
 text-align:left;
 display:block; }
form.ticker input {
 border:none;
 background-color:transparent;
 color: #a00000;
 font-weight:bold;
 font-size:120%;
 font-family: monospace;
 width:100%;
 padding-left:2px;
 padding-right:5px;
 text-align:left;
 display:block; }

Ticker (JS):
// © Autor Dietmar Rabich
// http://www.rabich.de

function StartTicker()
{
 document.NewsTicker.Zeile.value = "Bitte nutzen Sie einen aktuelleren Browser."
}
// Tickermeldungen

// Es muessen alle drei Werte angegeben werden.

// Effekte fuer Start:
//   1: einrollen
//   2: blinken
// Effekte fuer Ende:
//   1: ausrollen
//   2: blinken

var tickernews =
[
{meldung:"<a href='index.php?id=34&id_top=1' class='foot'>Kontakt</a>555555555555555", starteffekt:1, endeeffekt:1},
]

// Tickerparameter
var ticker_start   = 500 // Wartezeit bis zur ersten Meldung

var ticker_effekt1_start_a  = 75 // Darstellungsgeschwindigkeit [ms]
var ticker_effekt1_start_b  = 2500 // Darstellungszeit der Meldung [ms]

var ticker_effekt2_start_max_blink = 3 // Anzahl der Blinkdarstellungen
var ticker_effekt2_start_a  = 100 // Blinkgeschwindigkeit [ms]
var ticker_effekt2_start_b  = 2500 // Darstellungszeit der Meldung [ms]

var ticker_effekt1_ende_a  = 50 // Scrollgeschwindigkeit [ms]
var ticker_effekt1_ende_b  = 100 // Wartezeit bis zur naechsten Meldung [ms]

var ticker_effekt2_ende_max_blink = 3 // Anzahl der Blinkdarstellungen
var ticker_effekt2_ende_a  = 100 // Blinkgeschwindigkeit [ms]
var ticker_effekt2_ende_b  = 1000 // Wartezeit bis zur naechsten Meldung [ms]

// Interne Variablen
var msgnr = 0

// Aufruf der naechsten Meldung
function nextTicker()
{
 msgnr++
 if(msgnr >= tickernews.length)
  msgnr = 0
 setTimeout("showTicker(0)", 1000)
}

// Effekte fuer Meldungsende
function hideTicker(cnt)
{
 switch(tickernews[msgnr].endeeffekt)
 {
  // Effekt 2
  case 2:
document.NewsTicker.Zeile.value = ((cnt % 2) == 1) ? tickernews[msgnr].meldung : ""
if(cnt > (2 * ticker_effekt2_ende_max_blink + 1))
 setTimeout("nextTicker(0)", ticker_effekt2_ende_b)
 else
 setTimeout("hideTicker(" + String(cnt + 1) + ")", ticker_effekt2_ende_a)
 break

// Effekt 1
 default:
document.NewsTicker.Zeile.value =
tickernews[msgnr].meldung.substring(cnt, tickernews[msgnr].meldung.length)
if(cnt >= tickernews[msgnr].meldung.length)
 setTimeout("nextTicker()", ticker_effekt1_ende_b)
  else
 setTimeout("hideTicker(" + String(cnt + 1) + ")", ticker_effekt1_ende_a)
 }
}

// Effekte fuer Meldungsanfang
function showTicker(cnt)
{
 switch(tickernews[msgnr].starteffekt)
 {
// Effekt 2
case 2:
document.NewsTicker.Zeile.value = ((cnt % 2) == 1) ? "" : tickernews[msgnr].meldung
if(cnt > (2 * ticker_effekt2_start_max_blink + 1))
 setTimeout("hideTicker(0)", ticker_effekt2_start_b)
else
 setTimeout("showTicker(" + String(cnt + 1) + ")", ticker_effekt2_start_a)
 break

// Effekt 1
 default:
document.NewsTicker.Zeile.value = tickernews[msgnr].meldung.substring(0, cnt)
if(cnt >= tickernews[msgnr].meldung.length)
 setTimeout("hideTicker(0)", ticker_effekt1_start_b)
else
setTimeout("showTicker(" + String(cnt + 1) + ")", ticker_effekt1_start_a)
 }
}

// Start des Tickers
function StartTicker()
{
 // Standardmeldung
 document.NewsTicker.Zeile.value = "Ticker wird geladen..."

// Ticker starten
 setTimeout("showTicker(0)", ticker_start)
}
HTML:
      <table>
       <tr>
        <td>
         <form name="NewsTicker" class="ticker">
          <input type="text" readonly name="Zeile">
         </form>
        </td>
        <td>
         <a href="http://www.ups-schulen.de" target="_blank"><img src="img/ups_logo.gif" alt="unesco-projekt-schule" border="0"></a>
        </td>
       </tr>
      </table>

Dankeschön!

  1. calconeon,
    Du hast schon <www.kommdesign.de/galerie/inhalte/ticker.htm> (Pflichtlektüre) gelesen?
    Gunnar

    --
    "Nobody wins unless everybody wins." (Bruce Springsteen)
    1. http://www.kommdesign.de/galerie/inhalte/ticker.htm

      Könnte die Forumsoftware nicht ein bisschen fehlertoleranter sein?
      Gunnar

      --
      "Nobody wins unless everybody wins." (Bruce Springsteen)
      1. http://www.kommdesign.de/galerie/inhalte/ticker.htm

        Könnte die Forumsoftware nicht ein bisschen fehlertoleranter sein?
        Gunnar

        Danke, ist scohn recht einleuchtend, doch ist hier die einzige Methode, die mit einfällt, um
        -> aktuelle Termine aus eine Tabelle
        -> "Wegweiser" zu Navigationspunkten, derzeit auf der Startseite unter "Wegweiser"
        -> aktuelle News-Überschriften
        kompakt darzustellen.

        Ich bin da gerne für Vorschläge offen.

        Doch ich hab  auch nicht ganz begirffen, was ich falsch gemacht habe. Das mit dem als Link anzeigen ist eine Sache. Und ich bin mir sicher, das das geht, weil ich sowas schonmal gesehen habe.
        Aber warum ist die Position des Elements so komisch. Hab ich irgendwo im Code notiert, dass es da sein soll?

        1. Hallo calconeon,

          Ich bin da gerne für Vorschläge offen.

          Doch ich hab  auch nicht ganz begirffen, was ich falsch gemacht habe. Das mit dem als Link anzeigen ist eine Sache. Und ich bin mir sicher, das das geht, weil ich sowas schonmal gesehen habe.
          Aber warum ist die Position des Elements so komisch. Hab ich irgendwo im Code notiert, dass es da sein soll?

          Du meinst wahrscheinlich das marquee-Element, innerhalb dessen man auch Links tickern lassen kann.

          Gruß Gernot

          1. Du meinst wahrscheinlich das marquee-Element,

            das es in HTML nie gab, nicht gibt und nie geben wird.

            Gunnar

            --
            "Nobody wins unless everybody wins." (Bruce Springsteen)
            1. Ja, aber es geht mit Div.

              Ich werde aber dennoch keinen Ticker einbauen, sondern mir etwas anderes überlegen.

        2. Hallo!

          Danke, ist scohn recht einleuchtend, doch ist hier die einzige Methode, die mit einfällt, um
          [..]
          kompakt darzustellen.

          Warum soll es denn so arg kompakt sein? Eine Webseite bietet doch im Gegensatz zu einem Blatt Papier beinahe unbegrenzten Platz, den du freudig nutzen kannst.

          Gruß,
          _Dirk

  2. Hi,

    Zum einen: Wie ich kann ich einem Textfeld (Ticker) HTML-FOrmatirungen realisieren (wenigstens einen Link).

    Du meinst im input-Element?

    Gar nicht.

    Und: Wieso zeigen das die Browser so komisch an?

    Weil Du unsinniges HTML erzeugst, Du versuchst, HTML-Elemente innerhalb eines Attributs unterzubringen - da kannst Du froh sein, wenn überhaupt etwas angezeigt wird.

    Daß Ticker nerven und schlecht lesbar sind, hat Gunnar ja schon angemerkt.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.