Marquee-Geschwindigkeit ändern


  • mortician
  • 2152 Aufrufe 7 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Marquee-Geschwindigkeit ändern

    Also folgender Test.
    Ich habe ein <marquee> - Element mit den angegebenen Attributen scrollamount und scrolldelay.

    Dazu habe ich einen submit-Button, der beim Clicken den Wert des scrollDelay Attributes ändern soll.
    Das klappt leider nicht ...

    es klappt nur kurzzeitig für eine Millisekunde habe ich das Gefühl... danach geht wieder die Uhrsprungsverzögerung "an".

    Code:

    HTML-Quellcode

    1. <html>
    2. <head>
    3. <script type="text/javascript">
    4. function marqFaster() {
    5. document.getElementById("marq").scrollDelay = 10;
    6. }
    7. </script>
    8. </head>
    9. <body>
    10. <marquee scrollamount="2" scrolldelay="5" id="marq">jajajajajajajajajaaaa</marquee>
    11. <marquee scrollamount="2" scrolldelay="5">jajajajajajajajajaaaa</marquee>
    12. <input type="submit" onClick="marqFaster();">
    13. </body>
    14. </html>
    Alles anzeigen


    das klappt nicht!

    Allerdings klappt dieses "Vorhaben", wenn ich für das Marquee vorhher kein scrolldelay angebe.

    Das wäre dann folgendes:

    HTML-Quellcode

    1. <html>
    2. <head>
    3. <script type="text/javascript">
    4. function marqFaster() {
    5. document.getElementById("marq").scrollDelay = 10;
    6. }
    7. </script>
    8. </head>
    9. <body>
    10. <marquee scrollamount="2" id="marq">jajajajajajajajajaaaa</marquee>
    11. <marquee scrollamount="2" scrolldelay="5">jajajajajajajajajaaaa</marquee>
    12. <input type="submit" onClick="marqFaster();">
    13. </body>
    14. </html>
    Alles anzeigen


    Würd mich wirklich über schnelle Antworten freuen, da es echt dringend ist ;)
    Hab im nichts gefunden.

    ´gruß
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • hey danke erstmal...

    da hatte ich auch schon dran gedacht...da hatte ichs mit nem <a>-Element versucht... bei allem das gleiche.

    Mir kommt das so vor, als setzt das marquee-element das Attribut scrollDelay nach jeder "Verzögerung" neu.

    gruß
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • Ich weiß irgendwie nicht, was du willst.
    Da deine Prozedur "faster" heißt, denk ich mir mal, dass du den falschen Wert erhöst.
    Das macht es schneller:

    Quellcode

    1. document.getElementById("marq").scrollAmount = 10;

    Delay heißt "Verzögerung" und macht den marquee-Text langsamer.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Jah hast schon recht.
    Ich hab auch gemerkt, dass es mit ScrollAmount schneller geht.

    Mit ScrollAmount klappt das Script auch.
    Nur mit ScrollDelay nicht.

    Warum ich ScrollDelay benutzen will?
    Wenn ich den ScrollAmount erhöhe siehts ein wenig "hackelig" aus.
    Wenn ich allerdings die Verzögerung niedriger mache, sieht das ganze sehr flüssig aus.

    Vllt habter ja auch noch ne Idee worans liegen koennte.

    Danke soweit erstmal.
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • Lese dir mal durch, wofür ScrollDelay gut ist.
    Vielleicht findest du dan heraus, dass du das damit nicht realisieren kannst:

    SELFHTML: HTML/XHTML / Elemente zur Textstrukturierung / Ältere browser-proprietäre Elemente

    Oder Verwende halt ganz einfach ein Text, der sich nach Links Bewegt. dann hast du das Browser-prob auch nicht mehr: freesoft-board.to/f291/suche-e…d-245676.html#post1962078

    Gruß
    Broken sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • hier mal der code aus dem script, was ich benutze (abgeschaut von alternate-attax.de bzw. der alten seite, mittlerweile haben sie es nicht mehr!)

    mit tInterval kannst du die geschwindigkeit kontrollieren. Anstatt der Bilder und Links kannst du natürlich beliebigen Inhalt in tItems.push() setzen.

    Beispiel des Scripts (Bannerlaufscript) unter psycho-esports.com

    Quellcode

    1. // THIS SCRIPT WAS ORIGINALLY CODED BY ALTERNATE-ATTAX.DE!
    2. //<![CDATA[
    3. tImgPath = 'templates/psycho/images/marquee/';
    4. tItems = new Array();
    5. // --- Die News Elemente
    6. tItems.push('<a href='http://www.YouServer.at/' style='text-decoration:none'><img src='' + tImgPath + 'YouServer.png' alt='' style='border:0' /></a>');
    7. tItems.push('<a href='http://www.FM6.at/' style='text-decoration:none'><img src='' + tImgPath + 'FM6.png' alt='' style='border:0' /></a>');
    8. tItems.push('<a href='http://www.OC-Card.de/' style='text-decoration:none'><img src='' + tImgPath + 'OC-Card.png' alt='' style='border:0' /></a>');
    9. tItems.push('<a href='http://www.saxii.net/' style='text-decoration:none'><img src='' + tImgPath + 'saxii.png' alt='' style='border:0' /></a>');
    10. // --- Delimiter zwischen den einzelnen News
    11. tDelimiter =' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ';
    12. // --- Interval in ms
    13. tInterval = 50;
    14. // --- Stop bei mouseover?true:false
    15. tStop = true;
    16. // --- Falls Leeraum zwischen Items...hier Wert erhoehen...minimum:1
    17. tRepeat = 2;
    18. // --- Rahmen
    19. tBorder = '0';
    20. // --- Breite
    21. tWidth = 627;
    22. // --- Höhe
    23. tHeight = 70;
    24. //--- Abstand des Inhalts(#ticker) zum Rahmen(#marquee), ist absolut posinioniert.
    25. tXY = 'left:9px;top:5px;';
    26. // --- Linkziele des Tickers im neuen Fenster öffnen?
    27. tLinkNewWin = true;
    28. function tSetTarget( obj ) {
    29. obj.setAttribute( 'target', '_blank' );
    30. }
    31. function tBlurMe() { this.blur(); }
    32. /*
    33. * DER TICKER
    34. *
    35. */
    36. IE = document.all&&!window.opera;
    37. DOM = document.getElementById&&!IE;
    38. if( DOM || IE ) {
    39. var tGo,
    40. tPos = 0,
    41. tStop = tStop?'onmouseover='clearInterval(tGo)''+ 'onmouseout='tGo=setInterval(\'tTicken()\','+tInterval+')'':'',
    42. tTxt = tDelimiter+tItems.join(tDelimiter),
    43. tItems = tTxt;
    44. for( i = 1; i < tRepeat; ++i ) {
    45. tItems+=tTxt;
    46. }
    47. document.write( '<div id='marquee' style='position:relative;overflow:hidden;border:' + tBorder +
    48. ';width:' + tWidth + 'px;height:' + tHeight + 'px;' + ';'>' +
    49. '<div style='position:absolute;' + tXY + 'width:' + tWidth + 'px;height:' + tHeight + 'px;'+
    50. 'overflow:hidden;clip:rect(0px '+tWidth+'px '+tHeight+'px 0px)'>'+
    51. '<span id='ticker' style='color:#fff; white-space:nowrap;position:relative;'' + tStop + '>' + tItems +
    52. '</span></div></div>' );
    53. tObj = IE ? document.all.ticker : document.getElementById( 'ticker' );
    54. if ( tLinkNewWin ) {
    55. if ( ticker = document.getElementById( 'ticker' ) ) {
    56. aTicker = ticker.getElementsByTagName( 'a' );
    57. for( i=0; i < aTicker.length; i++ ) {
    58. aTicker[i].onfocus = tBlurMe;
    59. tSetTarget( aTicker[i] );
    60. }
    61. }
    62. }
    63. function tTicken() {
    64. tOffset = tObj.offsetWidth/tRepeat;
    65. if( Math.abs( tPos ) > tOffset ) {
    66. tPos = 0;
    67. }
    68. tObj.style.left = tPos + 'px';
    69. tPos = parseInt( tPos ) - 1;
    70. }
    71. }
    72. //]]
    Alles anzeigen