(function(jq) { jQuery.fn.scroll = function(settings) { settings = jQuery.extend({ travelocity: 0.1 }, settings); return this.each(function() { jQuery('#ticker').removeClass('hide'); var $strip = jQuery(this); $strip.addClass("newsticker") var stripWidth = 0; var $mask = $strip.wrap("
"); var $tickercontainer = $strip.parent().wrap(""); var containerWidth = $strip.parent().parent().innerWidth(); //a.k.a. 'mask' width $strip.find("li").each(function(i) { stripWidth += jQuery(this, i).innerWidth(); }); $strip.width(stripWidth); /* PB 19/01/09: replaced with the code below inc width of container; var defTiming = stripWidth / settings.travelocity; */ var totalTravel = stripWidth + containerWidth; var defTiming = Math.floor(totalTravel / settings.travelocity); function scrollnews(spazio, tempo) { $strip.animate({ left: '-=' + spazio }, tempo, "linear", function() { $strip.css("left", containerWidth); scrollnews(totalTravel, defTiming); }); } scrollnews(totalTravel, defTiming); $strip.hover( function() { jQuery(this).stop(); }, function() { var offset = jQuery(this).offset(); var residualSpace = offset.left + stripWidth; var residualTime = Math.floor(residualSpace / settings.travelocity); scrollnews(residualSpace, residualTime); }); }); }; })(jQuery);