jQuery滚动新闻实现代码

2020-05-29 06:59:33易采站长站整理

beginTime: 10,
fontSize: '9pt',
divWidth: '100%',
divHeight: '200px',
lineHeight: '130%',
delay: 20,
step: 2
};
$.fn.jdNewsScrollPause = function(pause) {
return this.each(function() {
this.$pause = pause;
});
}
function outerHeight(options) {
if (!this[0]) 0;
options = $.extend({ margin: false }, options || {});
return this[0] == window || this[0] == document ?
this.height() : this.is(':visible') ?
this[0].offsetHeight + (options.margin ? (num(this, 'marginTop') + num(this, 'marginBottom')) : 0) :
this.height()
+ num(this,'borderTopWidth') + num(this, 'borderBottomWidth')
+ num(this, 'paddingTop') + num(this, 'paddingBottom')
+ (options.margin ? (num(this, 'marginTop') + num(this, 'marginBottom')) : 0);
}

setInterval(scroll, 80);
function scroll() {
for (var i = 0; i < ELMS.length; i++) {
var elm = ELMS[i];
if (elm && !elm.$pause) {
if (elm.$counter == 0) {
var ul = $('> ul', elm)[0];
if (!elm.$steps) {
elm.$steps = $('> li:first-child', ul).outerHeight();
elm.$step = 0;
}
if ((elm.$steps + elm.$step) <= 0) {
elm.$counter = elm.$settings.delay;
elm.$steps = false;
$(ul).css('top', '0').find('> li:last-child').after($('> li:first-child', ul));
$('> *', ul).not('li').remove();
} else {
elm.$step -= elm.$settings.step;
if (-elm.$step > elm.$steps) {
elm.$step = -elm.$steps;
}
ul.style.top = elm.$step + 'px';
}
} else {
elm.$counter--;
}
}
}
};
})(jQuery);