移动端的数据滚动插件

源码:

var DataScroll = function(){

        var list = null;    //滚动的列表
        var parent = null;  //列表的父节点
        var speed = null;   //滚动的速度
        var listHeight = null;   //列表的高度
        var self = this;

        //初始化数据
        this.init = function(obj)
        {   
            //插入数据
            $(obj['list']).parent().append( $(obj['list']).clone(true) );

            $(function(){
                
                list = obj['list'];
                parent = $(obj['list']).parent();
                speed = $(list).children().length;
                listHeight = parseInt($(list).css('height'));
                self.startAnimation();

            });
        },

        //开始滚动
        this.startAnimation = function()
        {
           var movelist = parent.children();
           for(var i=0; i<movelist.length; i++)
           {
               var mlist = movelist[i];
               $(mlist).attr('num', i);
               mlist.style.webkitTransform = 'translateY(0px)';

               //设置动画时间
               mlist.style.webkitTransition = 'all '+(i==0? speed : speed * 2)+'s linear 0s';

               //设置滚动位置
               mlist.style.webkitTransform = 'translateY(-'+(i==0? listHeight : listHeight * 2)+'px)'; 

               //滚动完成后的回调函数
               mlist.addEventListener('webkitTransitionEnd', function(){

                    var num = parseInt($(this).attr('num'));
                    var selfM = this;

                    //停止动画时间
                    selfM.style.webkitTransition = 'all 0s linear 0s';

                    //设置位置为最下面
                    selfM.style.webkitTransform = 'translateY('+( num==0? listHeight : 0)+'px)';

                    //再次开启动画
                    setTimeout(function(){
                        selfM.style.webkitTransition = 'all '+speed*2+'s linear 0s';
                        selfM.style.webkitTransform = 'translateY(-'+(num==0? listHeight : listHeight * 2)+'px)';
                    },10);
               });
           }  
        }
    } 


调用方式:

 

 new DataScroll().init({
            list : '#msg'  //滚动列表的id
        });


demo下载地址 :http://download.csdn.net/detail/qq408896436/9716268
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值