间歇性滚动
使用jQuery的 animate
一般情况下,向上翻滚一行内容,即一个<li></li>
,但是如果是一行有多个li
标签,要使用常见的插件就会出现问题了…
所以自己改吧改吧:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59(function ($) {
$.fn.myScroll = function(options) {
var init = {
items: 1, //一行有几项内容
speed: 3000, //滚动速度
moveHeight: 22 // 行高
};
var intId = [];
var opts = $.extend({}, init, options);
function moveUp(obj) {
obj.animate({
marginTop: '-' + opts.moveHeight + 'px'
},
1000,
function() {
var $this = $(this);
$this.find('li').slice(0, opts.items).appendTo($this);
$this.css('margin-top', 0);
})
}
this.each(function(i) {
var sh = opts.moveHeight,
speed = opts.speed,
items = opts.items,
$this = $(this);
intId[i] = setInterval(timerEvent, speed);
$this.hover(function() {
clearInterval(intId[i]);
}, function() {
intId[i] = setInterval(timerEvent, speed);
});
var len = $this.find('li').length;
if(len > items && len <= items * 2) {
$this.html($this.html() + $this.html());
}
function timerEvent() {
var len = $this.find('li').length;
if(len > items && len <= items * 2) {
len /= 2;
}
if(len <= items) {
clearInterval(intId[i]);
} else {
moveUp($this, sh);
}
}
});
}
})(jQuery);
$('#scrollLists').myScroll({
items: 3,
speed: 3000,
moveHeight: 22
});
以下的都是单行内容翻滚,搬过来记录下:
使用JavaScript
1 | function Scroll() {} |
用法:1
2
3
4
5
6
7
8/*
* demo 父容器(ul)的id
* -36px 子元素li的高度
* 3000 滚动间隔时间
* 每次滚动持续时间可到css文件中修改
* (找不到原文了-.-)
*/
myScroll.upScroll("demo","-36px",3000);
无缝滚动
下载地址:简单的jQuery无缝向上滚动效果1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58(function ($) {
$.fn.myScroll = function (options) {
//默认配置
var defaults = {
speed: 40, //滚动速度,值越大速度越慢
rowHeight: 24 //每行的高度
};
var opts = $.extend({}, defaults, options),
intId = [];
function marquee(obj, step) {
obj.find("ul").animate({
marginTop: '-=1'
}, 0, function () {
var s = Math.abs(parseInt($(this).css("margin-top")));
if (s >= step) {
$(this).find("li").slice(0, 1).appendTo($(this));
$(this).css("margin-top", 0);
}
});
}
this.each(function (i) {
var sh = opts["rowHeight"],
speed = opts["speed"],
_this = $(this);
intId[i] = setInterval(function () {
if (_this.find("ul").height() <= _this.height()) {
clearInterval(intId[i]);
} else {
marquee(_this, sh);
}
}, speed);
_this.hover(function () {
clearInterval(intId[i]);
}, function () {
intId[i] = setInterval(function () {
if (_this.find("ul").height() <= _this.height()) {
clearInterval(intId[i]);
} else {
marquee(_this, sh);
}
}, speed);
});
});
}
})(jQuery);
$(function(){
$('.myscroll').myScroll({
speed: 40, //数值越大,速度越慢
rowHeight: 26 //li的高度
});
});