jQuery文字橫向滾動效果的實現(xiàn)代碼

字號:


    很多網(wǎng)站都有公告,并且都喜歡用橫向滾動的方式來展現(xiàn)。最近自己用jQuery也寫了文字橫向滾動,實現(xiàn)了自定義滾動速度,鼠標(biāo)經(jīng)過時暫停的功能。
    HTML代碼如下:
    代碼如下:
    <div id="s">
    <div id="noticeList"><span>jQuery文字橫向滾動</span><span>jQuery制作文字橫向滾動</span><span>www.jb51.net</span></div>
    </div>
    JS代碼:
    方法一:
    $.fn.textScroll=function(){
    var speed=60,flag=null,tt,that=$(this),child=that.children();
    var p_w=that.width(), w=child.width();
    child.css({left:p_w});
    var t=(w+p_w)/speed * 1000;
    function play(m){
    var tm= m==undefined ? t : m;
    child.animate({left:-w},tm,"linear",function(){
    $(this).css("left",p_w);
    play();
    });
    }
    child.on({
    mouseenter:function(){
    var l=$(this).position().left;
    $(this).stop();
    tt=(-(-w-l)/speed)*1000;
    },
    mouseleave:function(){
    play(tt);
    tt=undefined;
    }
    });
    play();
    }
    方法二:
    $.fn.textScroll=functioon(){
    var p = $(this),
    c = p.children(),
    speed=3000;// 值越大,速度越小
    var cw = c.width(),pw=p.width();
    var t = (cw / 100) * speed;
    var f = null, t1 = 0;
    function ani(tm) {
    counttime();
    c.animate({ left: -cw }, tm, "linear", function () {
    c.css({ left: pw });
    clearInterval(f);
    t1 = 0;
    t=((cw+pw)/100)*speed;
    ani(t);
    });
    }
    function counttime() {
    f = setInterval(function () {
    t1 += 10;
    }, 10);
    }
    p.on({
    mouseenter: function () {
    c.stop(false, false);
    clearInterval(f);
    console.log(t1);
    },
    mouseleave: function () {
    ani(t - t1);
    console.log(t1);
    }
    });
    ani(t);
    }
    最后調(diào)用$("#s").textScroll();
    以上這篇jQuery文字橫向滾動效果的實現(xiàn)代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考