• jQuery插件--图片文字向上向左循环滚动


    需要引用jquery

    调用非常简单:

    一、 向上滚动

     $(".scroll_two").jScroll({vertical: true});    

    <div class="box scroll_two">
        <ul>
            <li><a href="#">声明</a>| <a href="#">农夫山泉关于公益捐赠的严正声明</a></li>
            <li><a href="#">新车</a>| <a href="#">外观媲美轿车 全新一代奥德赛9月初亮相</a></li>
            <li><a href="#">活动</a>| <a href="#">开启燕京啤酒清爽之旅,赢取万元单反相机</a></li>
            <li><a href="#">探密</a>| <a href="#">亲历探寻长寿村莫斯利安的神奇之旅</a></li>
            <li><a href="#">中房</a>| <a href="#">2009CIHAF第十一届中国住交会</a></li>
            <li><a href="#">惠普</a>| <a href="#">你的打印机能省50%打印成本吗?</a></li>
        </ul>
    </div>

    二、向左翻屏

    $(".scroll_three").jScroll({speed: 2000, scroll: 3}); 

    <div class="box scroll_three">
    	<ul>
    		<li><a href="#"><img src="images/1.jpg" width="130" height="107" alt="" /></a></li>
    		<li><a href="#"><img src="images/2.jpg" width="130" height="107" alt="" /></a></li>
    		<li><a href="#"><img src="images/3.jpg" width="130" height="107" alt="" /></a></li>
    		<li><a href="#"><img src="images/4.jpg" width="130" height="107" alt="" /></a></li>
    		<li><a href="#"><img src="images/5.jpg" width="130" height="107" alt="" /></a></li>
    		<li><a href="#"><img src="images/6.jpg" width="130" height="107" alt="" /></a></li>
    	</ul>
    </div>
    

      

    源码如下:

    ;(function($){
    $.fn.extend({
    "jScroll":function(o){
    o = $.extend({
    auto: 3000, //延迟时间(毫秒)
    speed: 800, //单次滚动时长(毫秒)
    vertical: false, //是否向上滚动(默认向左)
    scroll: 1 //每次滚动的元素数量
    },o);
    var running = false, sizeCss = o.vertical ? "height" : "width", ulSize = 0;
    var scrollTimer, scrollLen, itemSize, animCss, i;
    var div = $(this), ul = div.find("ul"), li = ul.children("li");
    
    div.css({overflow: "hidden"});
    ul.css({margin: "0", padding: "0", display: "inline-block"});
    li.css({"list-style-type": "none", float: o.vertical ? "none" : "left"});
    
    //获取LI元素总宽(高)
    for(i=0; i<=li.size()-1; i++){
    itemSize = o.vertical ? li.eq(i).outerHeight() : li.eq(i).outerWidth();
    ulSize+=itemSize;
    }
    var divSize = o.vertical ? div.height() : div.width(); //容器宽(高)
    ul.css(sizeCss, (ulSize*2)+"px");
    if(ulSize > divSize) running = true; //UL的宽(高)大于容的器宽(高)时才滚动
    
    div.hover(function(){
    clearInterval(scrollTimer);
    },function(){
    if(running){
    scrollTimer = setInterval(function(){
    scrollLen = 0;
    itemSize = 0;
    li = ul.children("li");
    for(i=0; i<=o.scroll-1; i++){
    itemSize = o.vertical ? li.eq(i).outerHeight() : li.eq(i).outerWidth();
    scrollLen+=itemSize;
    }
    animCss = o.vertical ? {marginTop:-scrollLen +"px"} : {marginLeft:-scrollLen +"px"};
    ul.animate(animCss, o.speed, function(){
    ul.css(o.vertical ? "margin-top" : "margin-left", "0");
    li.slice(0,o.scroll).appendTo(ul); //将前面的元素移至末尾
    })
    }, parseInt(o.auto+o.speed));
    }
    }).trigger("mouseleave"); //DOM加载完毕后自动执行hover(fn1, fn2)的fn2
    }
    });
    })(jQuery);

    下载例子

  • 相关阅读:
    多进程要时刻当心的点
    pairs和ipairs用的迭代器不一样
    #pragma pack(push,1) & #pragma pack(pop)
    负数取模不一定是正数
    切记一定要get~
    GAME有计时器,大厅没有计时器的原因
    每天一个linux命令(1):ls命令
    服务端发的某个short字段存到buf里是正值,存完在看就是0的问题
    生成函数&多项式全家桶导学案
    [Z]董的博客数据结构与算法汇总
  • 原文地址:https://www.cnblogs.com/event/p/4673682.html
Copyright © 2020-2023  润新知