# Flash Bilderscroller mit Link und Mouseover Stop



## _t_a_u_r_u_s_ (25. Februar 2007)

Liebe Gemeinde,

ich bin neu hier und habe wenig Flash und PHP Kenntnisse, daher wäre es schön, wenn Ihr mir helfen könntet:

*Ziel:*
ein Ticker/Scroller, in dem Bilder von rechts nach links durchlaufen (als Endlosschleife)
berührt man mit dem Mauszeiger ein Bild, sollte der Ticker/Scroller anhalten. Zudem sind die Bilder unterschiedlich verlinkt.

ich habe es schon mit verschiedenen Scripten ausprobiert, bin aber immer wieder an Kleinigkeiten gescheitert. Jetzt habe ich hier ein Tut gefunden, allerdings bezieht sich das nur auf Text!?  

Danke für Eure Hilfe
Taurus


----------



## stain (25. Februar 2007)

Möglicherweise funktioniert dieser Ticker wie du ihn haben willst.
Er stoppt, wenn man mit der Maus über ihn fährt und normalerweise dürften sich auch Bilder einfügen lassen, die auf einen Link verweisen...


----------



## _t_a_u_r_u_s_ (25. Februar 2007)

erstmal Danke für den Link!

Mit dem CrossBrowser Marquee habe ich es auch schon versucht, bin allerdings immer auf Schwierigkeiten gestossen. Habe jetzt nochmal den Quelltext eingefügt, aber nix tut sich 

ich habe hier ein Script, das soweit funktioniert, allerdings funktioniert es nicht in einer Tabelle. Wenn ich es in eine Tabelle einfüge, läuft es dennoch über den kompletten Bildschirm. Selbst wenn ich Layer verwende. Zudem funktioniert das Script nicht im Firefox, ein Beispiel meines Problems gibt es hier:


```
<script type="text/javascript"><!--
/* * * * * * * * * * * * * * * * D I E  V A R I A B L E N * * * * * * * * * * * * * * * * * */

    //°°°°°°°°°°Die News

tNews=new Array();
tNews.push('<a href="http://www.modul-global.de/spitzhuettl-de/globalwohnen/astartseiten/index.php" target="_blank"><img src="Images/gwohnen_rgb.jpg" alt="" height="77" width="77" border="0" /></a>');
tNews.push('<a href="http://http://www.modul-global.de/spitzhuettl-de/globalwohnen/astartseiten/index.php" target="_blank"><img src="Images/gshop_rgb.jpg" alt="" height="77" width="77" border="0" /></a>');
//tNews.push('<b style="color:#012F85">Wunschtext kann überall eingefügt werden</b>');
tNews.push('<a href="http://www.modul-natura.de/spitzhuettl-de/auebersichtsseiten/index.php" target="_blank"><img src="Images/LogoNatura.jpg" alt="" height="77" width="250" border="0" /></a>');
tNews.push('<img src="Images/LogoMeisterstuecke.jpg" alt="" height="77" width="252" border="0" />');
tNews.push('<img src="Images/Culina.jpg" alt="" height="77" width="255" border="0" />');
tNews.push('<a href="http://www.huelsta.net" target="_blank"><img src="Images/huelsta_logo.gif" alt="" height="30" width="140" border="0" /></a>');
tNews.push('<a href="http://www.musterring.de/" target="_blank"><img src="Images/logo-musterring.gif" alt="" height="77" width="60" border="0" /></a>');
tNews.push('<a href="http://www.modul-modernart.de/spitzhuettl-de/001startseiten/3.php/" target="_blank"><img src="Images/001contursolo.gif" alt="" height="77" width="48" border="0" /></a>');



    //°°°°°°°°°°Laufrichtung(up,down,left,right)
strDir      ='right';

    //°°°°°°°°°°Delimiter zwischen den einzelnen News(nur bei left/right)
strDelimiter='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

    //°°°°°°°°°°Interval in ms
intInterval =20;

    //°°°°°°°°°°Stop bei mouseover?true:false
blnStopHover=true;

    //°°°°°°°°°°Falls Leeraum zwischen News...hier Wert erhoehen...minimum:1
intRepeat   =10;

    //°°°°°°°°°°Rahmen
strBorder   ='false';

    //°°°°°°°°°°Breite
intWidth    =500;

    //°°°°°°°°°°Höhe
intHeight   =80;

    //Abstand Rahmen->Inhalt
intPadding  =4;

    //Background-color
strBgc      ='#ffffff';

    //Text-color
strTxtc     ='#000000';

    //Textausrichtung
strAlign    ='left';

    //Schritt pro Durchlauf(px)
intStep=1;



/* * * * * * * * * * * * * * * * * * D E R  T I C K E R * * * * * * * * * * * * * * * * * * * * * */

    //IE ab V4?
IE=document.all&&!window.opera;
    //DOM-Browser(ausser IE)
DOM=document.getElementById&&!IE;


//läuft ab IE4 und in DOM-Browsern
if(DOM||IE)
  {
        //Ermitteln, ob Ticker horizontal oder vertikal laufen soll
    blnDir=(strDir=='up'||strDir=='down')?true:false;

        //Bei horizontalem Ticker wird ein nobr-, ansonsten ein div-Tag verwendet
    strNobr=(blnDir)?'div':'nobr';

        //Trennzeichen zwischen den Einzelnen Eintraegen
        //bei horizontalem Ticker gemäss Angabe in Variale strDelimiter
        //Ansonsten Zeilenumbrueche
    strDelimiter=(blnDir)?'<br><br>':strDelimiter;

        //String fuer Textausrichtung bei vertikalem Ticker
    strAlign=(blnDir)?'text-align:'+strAlign+';':'';

        //Variable zum Speichern des Intervals
    var objGo;
        //Variable zum Speichern der Position
    intPos=0;

        //String erzeugen fuer JS-Code, falls Ticker beim mouseover stoppen soll
    strStopHover=(blnStopHover)?'onmouseover="clearInterval(objGo)"onmouseout="objGo=setInterval(\'DM_ticken()\','+intInterval+')"':'';

        //Tickertext zu String zusammenfuegen
    strText=(blnDir)?tNews.join(strDelimiter)+strDelimiter:tNews.join(strDelimiter)+strDelimiter;
    strNews=strText;
    for(i=1;i<intRepeat;++i)
        {
        strNews+=strText;
        }

        //TickerCode zu String zusammenfuegen
    strTicker='<div style="'+strAlign+'overflow:hidden;background-color:'+strBgc+
                    ';border:'+strBorder+';width:'+intWidth+'px;height:'+intHeight+'px;padding:'+intPadding+
                    'px;"><'+strNobr+'><span id="ticker"style="position:relative;color:'+strTxtc+';background-color:'+strBgc+
                    ';"'+strStopHover+'>'+strNews+'</span></'+strNobr+'></div>';

        //TickerCode im Dokument ausgeben
    document.write(strTicker);

        //Funktion, um Ticker ticken zu lassen
    function DM_ticken()
    {
        //Ticker-Objekt je nach Browser ermitteln
    objTicker=(IE)?document.all.ticker:document.getElementById('ticker');

        //Array fuer zu manipulierende Eigenschaften des Tickers je nach Richtung
        //Richtung=new Array(Pixelwert zur Aenderung der Position,Breite/Höhe des Tickers,zu andernder Positionswert);
    arrDir=new Array();
    arrDir['up']    =new Array(-1,objTicker.offsetHeight,'top');
    arrDir['down']  =new Array(1,objTicker.offsetHeight,'top');
    arrDir['left']  =new Array(1,objTicker.offsetWidth,'left');
    arrDir['right'] =new Array(-1,objTicker.offsetWidth,'left');

        //Ermitteln von Breite bzw. Höhe der anzuzeigenden Items
    dblOffset=arrDir[strDir][1]/intRepeat;

        //Neuen Positionswert ermitteln
    switch(strDir)
        {
        case'right':
            intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break;
        case'left':
            intPos=(intPos>0)?-dblOffset:intPos;break;
        case 'up':
            intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break;
        case 'down':
            intPos=(intPos>0)?-dblOffset:intPos;break;
        }
        //Neuen Positionswert zuweisen
    objTicker.style[arrDir[strDir][2]]=intPos;

        //Positionswert hoch/heruntersetzen
    intPos+=intStep*arrDir[strDir][0];
    }
        //Erneut ticken lassen
    objGo=setInterval('DM_ticken()',intInterval);
  }
//-->
</script>
```


----------



## luke_the_duke (26. Februar 2007)

Hallo,

ich verschiebe den Thread mal besser ins Javascript-Board, da es sich bei deinem Script nicht um AS sondern eben um JS handelt.

gruss


----------

