[MX 2004] Newsticker - Problem mit einem Link

Isac

Erfahrenes Mitglied
Hallo Boardies,

ich habe ein Problem mit einem Newsticker. soweit funktioniert er sehr gut, leider bekomme ich es nicht hin, dass er beim Klicken eine neue Seite aufmacht.

Kann mir einer sagen, wo der (Gedanken-) Fehler liegt?

Hier der Code (im MovieClip)

PHP:
//--- 
TextField.prototype.init = function(inte, ppi) {
    this.myint = setInterval(this, "ticker", inte, ppi);
};
//--- 
TextField.prototype.ticker = function(ppi) {
    if (this.hscroll>=this.maxhscroll-ppi) {
        this.hscroll = (this.maxhscroll-this._width)/2;
    }
    this.hscroll += ppi;
    updateAfterEvent();
};
//--- 
this.createEmptyMovieClip("ticker", 1);
this.ticker.createTextField("newsticker", 0, 0, 0, 760, 16);
this.ticker.newsticker.html = true;
var txt = "  +++  <a href='http://www.goolge.de' target='_blank'>Google</a>  +++ <a href='http://www.yahoo.de' target='_blank'>Yahoo</a> +++ <a href='http://www.msn.de' target='_blank'>MSN</a>";
this.ticker.newsticker.htmlText = txt+txt;
//--- 
this.ticker.onRollOver = function() {
    clearInterval(this.newsticker.myint);
};
this.ticker.onRollOut = function() {
    this.newsticker.init(20, 1);
};
//--- 
this.ticker.newsticker.init(20, 1);

Schon mal vielen Dank!

Gruß,

Isac
 
Zuletzt bearbeitet:
Hallo,

wenn du einen Mouse-Event, wie z.B. onRollOver für die übergeordnete Instanz des HTML-Textfeldes definierst, ist der Link sozusagen "überdeckt". Ich würd das Problem mit einem onRelease auf der übergeordnete ticker-Instanz und entsprechendem getURL lösen.

gruss
 
@ Rena

Danke für den Hinweis!

Leider war das nicht die Lösung.
Außerdem ist der letzte Font-Tag nicht geschlossen. Sorry, das Beispiel von mir war ein bisschen "schlampig" ;-]

@Luke

Die Idee ist gar nicht so schlecht, obschon ich nicht mal wüsste, wie ich das zu bewerkstelligen hätte. :confused:

Aber so wie ich das verstehe, würde die 'gesamte' Newsticker-Instanz als Hyperlink angesehen werden. Würde man darin mehrere Verweise haben wollen (z.B. ein Link zu google, einen zu yahoo, ...) dann könnte man dieses nicht mehr realisieren, oder sehe ich das falsch?
 
Zuletzt bearbeitet:
Hallo,

doch natürlich. Du könntest z.B. statt auf den gesamten Ticker einen onRollOver zu legen, die Textfelder in separate MovieClips packen, die onRollOver überprüfen, ob das Intervall schon schaufelt und es dann initialisieren. Genauso verfährst du auch mit den rollOuts und dem Intervall-Killer. Zusätzlich könntest du jedem Textfeld eine URL zuweisen, die onRelease via getURL aufgerufen würde. In diesem Falle wärst du natürlich gezwungen, die MovieClips als solche zu verschieben und nicht den Text in einem einzigen Textfeld.

Eine andere Möglichkeit wäre, statt eines RollOvers onEnterFrame die Mausposition zu überprüfen bzw. eine hitTest-Abfrage zu starten. So könntest du weiterhin mit dem HTML-Textfeld arbeiten, dessen Links nun angewählt werden können, weil die übergeordnete Instanz keinen Mouse Event definiert hat.

gruss
 
Dank dir Luke

Du machst dir ja richtig Mühe :)

OnTopic:

Mist, hätte nie gedacht, dass das soviel Arbeit wäre.
Die erste Möglichkeit ist meiner Meinung nach für mich nicht sinnvoll, da die Inhalte sich ständig verändern würden (ist ja auch ein NEWS-Ticker ;-) ) --> sehr aufwendig

Beim zweiten könnte ich nicht mal einen Ansatz hervorbringen. Soo gut kenne ich micht nicht mit AS aus. Leider.

Isac
 
Hallo,

das hier
Code:
this.ticker.onRollOver = function() {
    clearInterval(this.newsticker.myint);
};
this.ticker.onRollOut = function() {
    this.newsticker.init(20, 1);
};

ersetzt du damit.

Code:
this.ticker.onEnterFrame = function () {
     var _mouseOver = this.hitTest(true, this._xmouse, this._ymouse);
     if (_mouseOver == true) {
          if  (this.newsticker.myint < 1) {
               this.newsticker.init(20, 1);
          }
     } else {
          if (this.newsticker.myint > 0) {
               clearInterval(this.newsticker.myint);
          }
     }
}
Ich bin grade weder im Büro noch zuhause und hab das deswegen nicht testen können!!
gruss
 

Neue Beiträge

Zurück