login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > JS > Tekst effecten > Continuous News Ticker

Continuous News Ticker

Auteur: pinquin - 15 december 2010 - 11:45 - Gekeurd door: Koen - Hits: 4939 - Aantal punten: (0 stemmen)



News Ticker die continu door blijft lopen geschreven met jQuery 1.4.4

Na veel zoeken op internet niet gevonden wat ik nodig had, namelijk een nieuws ticker die continu door blijft lopen en het voorste item achteraan zet als deze uit beeld verdwenen is en het belangrijkste, niet geschreven is in action script!

Installatie:
- Download het .zip bestand.
- Roep eerst jquery.js en daarna newsticker.js aan.
- De nieuws ticker moet de style 'position: absolute' en 'overflow: hidden' bevatten.
- De nieuws-elementen container moet de style 'white-space: nowrap' bevatten.
- De nieuws-elementen moeten de style 'position: absolute' bevatten.

Aanroepen met jQuery("#newsstream_content").ticker()
mogelijke instellingen zijn {step: '30[in px]', speed: '500[1 sec = 1000]', marginNext: '10[in px]'}

Het .zip bestand bevat een werkend voorbeeld.
Uitbreiding en verbeteringen zijn altijd mogelijk!

Update:
- Stop functie toegevoegd
- Stop functie verbeterd

Download en voorbeeld niet meer beschikbaar i.v.m. domein verhuizing

Code:
  1. <div id="news_container"><!-- Nieuws ticker -->
  2. <div id="news_items"><!-- Nieuws-elementen container -->
  3. <a href="#" title="">News item 1</a><!-- Nieuws-element -->
  4. <a href="#" title="">News item 2</a>
  5. <a href="#" title="">News item 3</a>
  6. <a href="#" title="">News item 4</a>
  7. <a href="#" title="">News item 5</a>
  8. <a href="#" title="">News item 6</a>
  9. <a href="#" title="">News item 7</a>
  10. <a href="#" title="">News item 8</a>
  11. </div>
  12. </div>

  1. #news_container { position: absolute; width: 300px; height: 20px; padding: 2px 0 0 0; margin: 290px 0 0 240px; background-color: #CECECE; overflow: hidden; }
  2. #news_items { position: relative; white-space: nowrap; }
  3. #news_items a, #news_items img { position: absolute; color: #000000; }

  1. ( function(jQuery) {
  2. var defaults, first, last;
  3. jQuery.fn.ticker = function(options) {
  4. defaults = { step: '30', speed: 500, marginNext: 10 };//Standaard waarden
  5. var options = jQuery.extend( defaults, options );
  6. return this.each( function() {
  7. var h = 0;
  8. var newsticker = jQuery(this);
  9. jQuery(newsticker).children().each( function( i, n ) {//Zet alle newsitems op de start positie
  10. jQuery(n).css({left: h + "px"});
  11. h += (parseInt( defaults.marginNext ) + jQuery(n).width());
  12. });
  13. jQuery(newsticker).css("width", h + "px");
  14. jQuery( jQuery(newsticker).children()[jQuery(newsticker).children().length - 1] ).addClass('last_tickeritem');
  15. start();//Start de newsticker
  16.  
  17. function ticker(item) {
  18. jQuery(item).animate( { left: '-=' + defaults.step}, parseInt( defaults.speed ), 'linear', function() {
  19. if( jQuery(this).position()['left'] + jQuery(this).width() < 0 ) {
  20. last = jQuery(".last_tickeritem").removeClass('last_tickeritem');
  21. first = jQuery(this).addClass('last_tickeritem').css({ left: Math.round( jQuery(last).position()['left'] + jQuery(last).width() + parseInt( defaults.marginNext ) ) + "px"}).remove();
  22. jQuery(newsticker).append( jQuery(first) );
  23. ticker( jQuery(first) );
  24. } else ticker( jQuery(this) );
  25. });
  26. }
  27.  
  28. jQuery(newsticker).parent().hover( function() { jQuery(this).children().children().stop(); }, function() { start(); });
  29. function start() { jQuery(newsticker).children().each( function( i, n ) { ticker(jQuery(n)); }); }
  30.  
  31. });
  32. };
  33. } )( jQuery );
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (4)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.049s