我在此滚动新闻脚本中添加setInterval()函数时遇到了困难:
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);
});
});
};
我已在最后两个括号中添加了此代码:
setInterval("jQuery.fn.liScroll.travelocity()", 1000);
在剧本的最后:
$(function(){
$("ul#ticker01").liScroll();
});
脚本正在运行,但是当它到达最后一个-li-时,它不再重复整个事情。任何提示?
答案 0 :(得分:1)
不幸的是,您提供的笔中没有任何反应。
但是,jQuery.fn.liScroll.travelocity
没有在任何地方定义。所以,你不能在间隔中调用它。
您可能想做的就是:
$(function () {
setInterval(function () {
$("ul#ticker01").liScroll();
}, 1000);
});