
代码如下:
可配置横栏滚动Demo script>
(function ($) {
$.fn.extend({
Scroll: function (opt, callback) {
if (!opt) var opt = {};
var _btnleft = $(opt.left);
var _btnright = $(opt.right);
var timerID;
var _this = this.eq(0).find("div").eq(1);
var lineW = _this.find("a:first").width(), //获取列宽
line = opt.line ? parseInt(opt.line, 10) : parseInt(_this.width() / lineW, 10), //每次滚动的列数,默认为一屏,即父容器列宽
speed = opt.speed ? parseInt(opt.speed, 10) : 500; //滚动速度,数值越大,速度越慢(毫秒)
timer = opt.timer ? parseInt(opt.timer, 10) : 3000; //滚动的时间间隔(毫秒)
if (line == 0) line = 1;
var upWidth = 0 - line * lineW;
//滚动函数
var scrollLeft = function () {
if (!_this.is(":animated")) {
_this.animate({
left: upWidth
}, speed, function () {
for (i = 1; i <= line; i++) {
_this.find("a:first").appendTo(_this);
}
_this.css({ left: 0 });
});
}
}
var scrollRight = function () {
if (!_this.is(":animated")) {
for (i = 1; i <= line; i++) {
_this.find("a:last").show().prependTo(_this);
}
_this.css({ left: upWidth });
_this.animate({
left: 0
}, speed, function () {
});
}
} //Shawphy:自动播放
var autoPlay = function () {
if (timer) timerID = window.setInterval(scrollLeft, timer);
};
var autoStop = function () {
if (timer) window.clearInterval(timerID);
}; //鼠标事件绑定
_this.hover(autoStop, autoPlay).mouseout();
_btnleft.css("cursor", "pointer").click(scrollLeft).hover(autoStop, autoPlay);
_btnright.css("cursor", "pointer").click(scrollRight).hover(autoStop, autoPlay);
}
})
})(jQuery);
$(document).ready(function () {
$("#scrollable").Scroll({ line: 5, speed: 500, timer: 3000, left: ".prev", right: ".next"});
});
script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
说明:1、需要两个图片
left.png:

right.png:

2、需要引入jquery的包,这个应该不用说的......
//