textSlider文本一行或多行滚动

   js     2021-02-22 01:16     网络     124     0     1     1
destoon程序前端开发教程
学习要点:一行或多行滚动演示

(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>

--结束END--

有问题投稿请发送至: 邮箱/kf@dtmuban.com    QQ/290948585

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

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

阅读更多
 
本文标签: 一行滚动 多行滚动
您已取消点赞
成功点赞
请登录后再来点赞
收藏成功

下班PC阅读不方便?

手机也可以随时学习开发

微信关注公众号“模板开发网”
"模板开发网前端开发教学"
每日干货技术分享
【ECS精选特惠】新用户上云低至1折起
 
0

圈友点评

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

猜您需要

推荐开发教程


×

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

福利

免费
福利

幸运大转盘,好礼等您拿

模板开发网公众号

模板开发网微信小程序

代授权

程序
授权

小黑

联系
客服

联系客服:

在线QQ: 290948585

客服电话: 18605917465

E_mail邮箱: kf@dtmuban.com

微信公众号: kuzhanhui

微信小程序: dt模板

售前咨询 售后服务 DT授权代办 在线交谈

工作时间:

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

反馈

用户
反馈