js/jquery.marquee.js
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
* jQuery JavaScript Library Marquee Plus 1.0
* http://mzoe.com/
*
* Copyright (c) 2009 MZOE
* Dual licensed under the MIT and GPL licenses.
*
* Date: 2009-05-13 18:54:21
*/
(function($) {
$.fn.marquee = function(o) {
//获取滚动内容内各元素相关信息
o = $.extend({
speed: parseInt($(this).attr('speed')) || 30, // 滚动速度
step: parseInt($(this).attr('step')) || 1, // 滚动步长
direction: $(this).attr('direction') || 'up', // 滚动方向
pause: parseInt($(this).attr('pause')) || 1000 // 停顿时长
}, o || {});
var dIndex = jQuery.inArray(o.direction, ['right', 'down']);
if (dIndex > -1) {
o.direction = ['left', 'up'][dIndex];
o.step = -o.step;
}
var mid;
var div = $(this); // 容器对象
var divWidth = div.innerWidth(); // 容器宽
var divHeight = div.innerHeight(); // 容器高
var ul = $("ul", div);
var li = $("li", ul);
var liSize = li.size(); // 初始元素个数
var liWidth = li.width(); // 元素宽
var liHeight = li.height(); // 元素高
var width = liWidth * liSize;
var height = liHeight * liSize;
if ((o.direction == 'left' && width > divWidth) ||
(o.direction == 'up' && height > divHeight)) {
// 元素超出可显示范围才滚动
if (o.direction == 'left') {
ul.width(2 * liSize * liWidth);
if (o.step < 0) div.scrollLeft(width);
} else {
ul.height(2 * liSize * liHeight);
if (o.step < 0) div.scrollTop(height);
}
ul.append(li.clone()); // 复制元素
mid = setInterval(_marquee, o.speed);
div.hover(
function(){clearInterval(mid);},
function(){mid = setInterval(_marquee, o.speed);}
);
}
function _marquee() {
// 滚动
if (o.direction == 'left') {
var l = div.scrollLeft();
if (o.step < 0) {
div.scrollLeft((l <= 0 ? width : l) + o.step);
} else {
div.scrollLeft((l >= width ? 0 : l) + o.step);
}
后面还有 28 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。