沉浸式阅读
Beta
转载

textSlider文本一行或多行滚动

     订阅 JS相关     2021-02-22     网络    377    0    1    2    2021-02-22
学习要点:一行或多行滚动演示

(function($) {
    $.fn.textSlider = function(settings) {
        settings = jQuery.extend({
            speed: "normal",
            line: 2,
            timer: 1000
        }, settings);

        return this.each(function() {
            $.fn.textSlider.scllor($(this), settings);
        });
    };

    $.fn.textSlider.scllor = function($this, settings) {
        var ul = $("ul:eq(0)", $this);
        var timerID;
        var li = ul.children();
        var _btnUp = $(".up:eq(0)", $this);
        var _btnDown = $(".down:eq(0)", $this);
        var liHight = $(li[0]).height();
        var upHeight = 0 - settings.line * liHight;

        var scrollUp = function() {
            _btnUp.unbind("click", scrollUp);
            ul.animate({marginTop: upHeight}, settings.speed, function() {
                for (i = 0; i < settings.line; i++) {
                     ul.find("li:first").appendTo(ul);
                }
                ul.css({marginTop: 0});
                _btnUp.bind("click", scrollUp);
            });
        };

        var scrollDown = function() {
            _btnDown.unbind("click", scrollDown);
            ul.css({marginTop: upHeight});
            for (i = 0; i < settings.line; i++) {
                ul.find("li:last").prependTo(ul);
            }
            ul.animate({marginTop: 0}, settings.speed, function() {
                _btnDown.bind("click", scrollDown);
            });
        };

        var autoPlay = function() {
            timerID = window.setInterval(scrollUp, settings.timer);
        };

        var autoStop = function() {
            window.clearInterval(timerID);
        };

        ul.hover(autoStop, autoPlay).mouseout();
        _btnUp.css("cursor", "pointer").click(scrollUp);
        _btnUp.hover(autoStop, autoPlay);
        _btnDown.css("cursor","pointer").click(scrollDown);
        _btnDown.hover(autoStop, autoPlay);
    };
})(jQuery);

html代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        *{margin:0;padding:0;}
        .scrollText{width:300px;height:100px;overflow:hidden;border:#ccc 1px solid;line-height:25px;}
        .up{width:50px;height:50px;background:#f90;cursor:pointer;}
        .down{width:50px;height:50px;background:#960;cursor:pointer;}
    </style>
    <script src="jquery-1.5.2.min.js"></script>
    <script src="jQuery.textSlider.js"></script>
</head>
<body>
    <p>一行滚动演示:</p>
    <div id="scrollDiv">
        <div class="scrollText">
            <ul>
                <li>这是公告标题的第一行</li>
                <li>这是公告标题的第二行</li>
                <li>这是公告标题的第三行</li>
                <li>这是公告标题的第四行</li>
                <li>这是公告标题的第五行</li>
                <li>这是公告标题的第六行</li>
                <li>这是公告标题的第七行</li>
                <li>这是公告标题的第八行</li>
                <li>这是公告标题的第9行</li>
                <li>这是公告标题的第10行</li>
                <li>这是公告标题的第11行</li>
                <li>这是公告标题的第12行</li>
            </ul>
        </div>
        <div class="up">up</div>
        <div class="down">down</div>  
    </div>
    <p>多行滚动演示:</p>
    <div id="scrollDiv2">
        <div class="scrollText">
            <ul>
                <li>这是公告标题的第一行</li>
                <li>这是公告标题的第二行</li>
                <li>这是公告标题的第三行</li>
                <li>这是公告标题的第四行</li>
                <li>这是公告标题的第五行</li>
                <li>这是公告标题的第六行</li>
                <li>这是公告标题的第七行</li>
                <li>这是公告标题的第八行</li>
                <li>这是公告标题的第9行</li>
                <li>这是公告标题的第10行</li>
                <li>这是公告标题的第11行</li>
                <li>这是公告标题的第12行</li>
            </ul>
        </div>
        <div class="up">up</div>
        <div class="down">down</div>    
    </div>
    <script>
        $(document).ready(function() {
            $("#scrollDiv").textSlider({line: 1, speed: 500, timer: 3000});
            $("#scrollDiv2").textSlider({line: 2, speed: 500, timer: 3000});
        });
    </script>
</body>
</html>

本文标题: textSlider文本一行或多行滚动

本文链接: https://www.mbkfw.com/course/845.html (转载时请注明来源链接)

本文说明: 本文来源于网络转载,有问题请发送至: 邮箱/kf@dtmuban.com 进行修改或删除

特别鸣谢: 如果您觉得本文对您有帮助,请给我们一个小小的赞,收藏本文更利于反复学习哦!

 
本文标签: #一行滚动 #多行滚动
destoon程序前端开发标签生成器

下班PC阅读不方便?

手机也可以随时学习开发

微信关注公众号“商企云服”
"模板开发网前端开发教学"
每日干货技术分享
 
0

圈友点评

文明上网理性发言,请遵守网络评论服务协议
更多>

猜您需要

 
【ECS精选特惠】新用户上云低至1折起

小编推荐



色彩
×

《客户实名在线注册登记》售后一直都在!

关注

微信
关注

微信扫一扫
不同的环境体验

幸运大转盘,好礼等您拿

模板开发网公众号

模板开发网微信小程序

代授权

程序
授权

黑小二

联系
客服

很高兴为您服务
尊敬的用户,欢迎您咨询,我们为新用户准备了优惠好礼。咨询客服

联系客服:

在线QQ: 290948585

客服电话: 18605917465

E_mail邮箱: kf@dtmuban.com

微信公众号: 商企云服

微信小程序: 模板开发

QQ客服 微信客服DT授权代办 在线交谈 智能小云

工作时间:

周一至周五: 09:00 - 18:00

APP下载

安卓
APK

模板开发网安卓版APP

反馈

我要
反馈