calconeon: Ticker

Beitrag lesen

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!