间歇性滚动
使用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的高度
    });
});
 
          
         
          
        