Greedy
Greedy

Reputation: 115

JQuery add setInterval() in scroll script

I'm having difficulties with adding setInterval() function in this scroll news script:

jQuery.fn.liScroll = function(settings) {
  settings = jQuery.extend({
    travelocity: 0.03
  }, settings);

  return this.each(function() {
    var $strip = jQuery(this);
    $strip.addClass("newsticker")
    var stripHeight = 1;
    $strip.find("li").each(function(i) {
      stripHeight += jQuery(this, i).outerHeight(true);
    });
    var $mask = $strip.wrap("<div class='mask'></div>");
    var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");
    var containerHeight = $strip.parent().parent().height();
    $strip.height(stripHeight);
    var totalTravel = stripHeight;
    var defTiming = totalTravel / settings.travelocity;

    function scrollnews(pace, temp) {
      $strip.animate({
        top: '-=' + pace
      }, temp, "linear", function() {
        $strip.css("top", containerHeight);
        scrollnews(totalTravel, defTiming);
      });
    }
    scrollnews(totalTravel, defTiming);
    $strip.hover(function() {
        jQuery(this).stop();
      },
      function() {
        var offset = jQuery(this).offset();
        var residualSpace = offset.top + stripHeight;
        var residualTime = residualSpace / settings.travelocity;
        scrollnews(residualSpace, residualTime);
      });
  });
};

I've added this code between last two brackets:

setInterval("jQuery.fn.liScroll.travelocity()", 1000);  

And at the end of the script:

$(function(){
  $("ul#ticker01").liScroll();
});

The script is working, but when it reaches last -li-, it wont repeat the whole thing again. Any hints?

Upvotes: 0

Views: 216

Answers (1)

Prashant
Prashant

Reputation: 8060

Unfotunately, nothing happens in the pen that you provided.

But, jQuery.fn.liScroll.travelocity is not defined anywhere.So, you cannot invoke that in interval.

May be what you are trying to do is:

$(function () {
    setInterval(function () { 
        $("ul#ticker01").liScroll(); 
    }, 1000);
});

Upvotes: 1

Related Questions