• 一段代码


    格式,风格很重要,贴一个最近写的一段代码。
    不复杂,条理算是清晰(没写什么注释,但是看方法名应该看得懂)。
    功能简单,但是自认为需求更改,我维护方便,放在这里留作纪念:

    /**
    *重要新闻循环滚动
    */

    function HScroll(p){
    var t = this;
    t.p = jQuery.extend({},p);
    t.ul = jQuery(t.p.ctn).find('ul');
    t.interval = null;
    t.htmlInit();
    t.eventBind();
    t.scrollStart();
    };

    HScroll.prototype.htmlInit = function(){
    var t = this;
    var ul = t.ul,
    li = t.ul.find('li'),
    liLen = li.length,
    liW = li.width(),
    ulW = liW * liLen;
    t.dW = liW;
    ul.width(ulW);
    };
    var fpr = HScroll.prototype;
    fpr.scrollStop = function(){
    var t = this;
    window.clearInterval(t.interval);
    };
    fpr.scrollStart = function(){
    var t = this;
    t.interval = window.setInterval(function(){
    t.scrollLeft();
    },t.p.intervalTime);
    };
    fpr.setLastLiFrist = function(){
    var t = this;
    var li = t.ul.find('li').last().clone();
    t.ul.find('li').last().remove();
    t.ul.prepend(li);
    };
    fpr.setFristLiLast = function(){
    var t = this;
    var li = t.ul.find('li').first().clone();
    t.ul.find('li').first().remove();
    t.ul.append(li);
    };
    fpr.marginInit = function(){
    var t = this;
    t.ul.css('margin-left',0)
    };
    fpr.scrollLeft = function(){
    var t = this;
    t.ul.animate({
    'margin-left' : -(t.dW)
    },function(){
    t.setFristLiLast();
    t.marginInit();
    });
    };
    fpr.scrollRight = function(){
    var t = this;
    t.setLastLiFrist();
    t.ul.css('margin-left',-(t.dW));
    t.ul.animate({
    'margin-left' :0
    });
    };
    fpr.eventBind = function(){
    var t = this;
    jQuery(t.p.prevCtn).click(function(){
    t.scrollStop();
    t.scrollLeft();
    t.scrollStart();
    });
    jQuery(t.p.nextCtn).click(function(){
    t.scrollStop();
    t.scrollRight();
    t.scrollStart();
    });
    jQuery(t.p.ctn).hover(function(){
    t.scrollStop();
    },function(){
    t.scrollStart();
    });
    };
    调用方法:
    new HScroll({
    ctn : '.scroll-ul-ctn',
    intervalTime : 4000,
    speed : 1000,
    prevCtn : '.article-prev',
    nextCtn : '.article-next'
    });


  • 相关阅读:
    linux(6)查看进程ps命令
    Python 基础03 序列
    Python 基础02 基本数据类型
    Python基础01 Hello World!
    Linux vi/vim
    Laravel 的HTTP控制器
    Laravel 下的伪造跨站请求保护 CSRF#
    Linux 磁盘管理
    Linux 用户he用户组管理
    Linxu 用户和用户组管理1
  • 原文地址:https://www.cnblogs.com/tyhmj/p/2342596.html
Copyright © 2020-2023  润新知