美文网首页
文字横向滚动,循环滚动

文字横向滚动,循环滚动

作者: 新世纪好青年 | 来源:发表于2021-06-24 13:58 被阅读0次
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="utf-8">
      <title>文字横向滚动</title>
      <style>
        .txt-scroll{ width: 500px; height: 30px; line-height: 30px; padding: 0 5px 0 30px; }
        .txt-scroll .scrollbox{ width: 100%; white-space: nowrap; overflow:hidden; transition: all .2s; }
        .txt-scroll .txt,.txt-scroll .txt-clone{ display: inline; position: relative; }
      </style>
    
      <script src="js/jquery-1.9.1.min.js"></script>
      <script src="txtscroll.min.js"></script>
    </head>
    
    <body>
      <div class="txt-scroll">
        <div class="scrollbox">
          <div class="txt">
            深圳市移联天下电子商务有限公司成立于2014年, 是集移动互联网新消费模式、。。。。。
          </div>
        </div>
      </div>
      <script>
        $('.txt-scroll').txtscroll({
          'speed': 20
        });
      </script>
    </body>
    
    </html>
    

    txtscroll.js

    /*
     * txtscroll - 基于jQuery的文本无缝循环滚动插件
     *
     * 作者: obear
     * 版本: 1.0
     * 创建日期: 2018-12-07
     * 
     * 使用说明:
     *          { 使用前请引入jQuery, 文本长度大于父级元素才可激活滚动,否则无滚动效果 }
     */
    
    ;(function ($) {
        "use strict";
    
        $.fn.txtscroll = function (options) {
            //默认参数
            //{
            //   speed - 滚动间隔时间
            //}
            
            var settings = $.extend({
                'speed': 50
            }, options);
    
            return this.each(function () {
                var $this = $(this);
                var $settings = settings;
    
                var scrollbox = $('.scrollbox',$this);
                var txt_begin = $('.txt',$this);
                var txt_end = $('<div class="txt-clone"></div>');
                var scrollVaue = 0;
    
                function marquee() {
                    if (txt_end.width() - scrollbox.scrollLeft() <= 0){
                        scrollVaue = scrollbox.scrollLeft() - txt_begin.width();
                        scrollbox.scrollLeft(scrollVaue);
                    } else{
                        scrollVaue = scrollVaue + 1;
                        scrollbox.scrollLeft(scrollVaue);
                    }
                }
    
                if(txt_begin.width() > scrollbox.width()){
                    txt_end.html(txt_begin.html());
                    scrollbox.append(txt_end);
    
                    var setmarquee = setInterval(marquee, $settings.speed);
                    $this.on('mouseover', function(){
                        clearInterval(setmarquee);
                    });
                    $this.on('mouseout', function(){
                        setmarquee = setInterval(marquee, $settings.speed);
                    });
                }
            });
        };
    })(jQuery);
    

    相关文章

      网友评论

          本文标题:文字横向滚动,循环滚动

          本文链接:https://www.haomeiwen.com/subject/fuwwyltx.html