Reputation: 115
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
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