han73748196 2017-09-05 07:19 采纳率: 66.7%
浏览 3469
已采纳

对一个多行文本的向上滚动,不是无缝,是一行一行的滚动。

要实现一个ul li的向上滚动。不用无缝滚动。同时鼠标悬停在上面的时候暂停、

  • 写回答

4条回答 默认 最新

  • Aoruis 2017-09-05 07:48
    关注

    不使用marquee。 如下:

     <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <style type="text/css">
    ul,li
    {
        margin:0;
        padding:0;
        }
    #scrollDiv
    {
        width:300px;
        height:250px;
        min-height:25px;
        line-height:25px;
        border:#ccc 1px solid;
        overflow:hidden;
        }
    #scrollDiv li
    {
        height:25px;
        padding-left:10px;
        }
    </style>
        <script src="http://www.jq22.com/jquery/jquery-2.1.1.js"></script>
        <script language="javascript" type="text/javascript">
            (function ($) {
            $.fn.extend({
                Scroll: function (opt, callback) {
                    if (!opt) var opt = {};
                    var _btnUp = $("#" + opt.up); //向上按钮     
                    var _btnDown = $("#" + opt.down); //向下按钮
                    var _this = this.eq(0).find("ul:first");
                    var lineH = _this.find("li:first").height(); //获取行高    
                    var line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10); //每次滚动的行数,默认为一屏,即父容器高度
                    var speed = opt.speed ? parseInt(opt.speed, 10) : 600; //卷动速度,数值越大,速度越慢(毫秒)
                    var m = line;  //用于计算的变量
                    var count = _this.find("li").length; //总共的<li>元素的个数
                    var upHeight = line * lineH;
                    function scrollUp() {
                        if (!_this.is(":animated")) {  //判断元素是否正处于动画,如果不处于动画状态,则追加动画。
                            if (m < count) {  //判断 m 是否小于总的个数
                                m += line;
                                _this.animate({ marginTop: "-=" + upHeight + "px" }, speed);
                            }
                        }
                    }
                    function scrollDown() {
                        if (!_this.is(":animated")) {
                            if (m > line) { //判断m 是否大于一屏个数
                                m -= line;
                                _this.animate({ marginTop: "+=" + upHeight + "px" }, speed);
                            }
                        }
                    }
                    _btnUp.bind("click", scrollUp);
                    _btnDown.bind("click", scrollDown);
                }
            });
        })(jQuery);
        </script>
        <script language="javascript" type="text/javascript">
          $(function () {
                $("#scrollDiv").Scroll({ line: 10, speed: 500,up: "btn1", down: "btn2" });
            });    
        </script>
        <title></title>
    </head>
    <body>
        <p style="font-family: 微软雅黑; font-weight: bold;">信息滚动栏DEMO:</p>
        <div id="scrollDiv">
            <ul>
                <li>这是滚动信息的第1行</li>
                <li>这是滚动信息的第2行</li>
                <li>这是滚动信息的第3行</li>
                <li>这是滚动信息的第4行</li>
                <li>这是滚动信息的第5行</li>
                <li>这是滚动信息的第6行</li>
                <li>这是滚动信息的第7行</li>
                <li>这是滚动信息的第8行</li>
                <li>这是滚动信息的第9行</li>
                <li>这是滚动信息的第10行</li>
                <li>这是滚动信息的第11行</li>
                <li>这是滚动信息的第12行</li>
                <li>这是滚动信息的第13行</li>
                <li>这是滚动信息的第14行</li>
                <li>这是滚动信息的第15行</li>
                <li>这是滚动信息的第16行</li>
                <li>这是滚动信息的第17行</li>
                <li>这是滚动信息的第18行</li>
                <li>这是滚动信息的第19行</li>
                <li>这是滚动信息的第20行</li>
                <li>这是滚动信息的第21行</li>
                <li>这是滚动信息的第22行</li>
                <li>这是滚动信息的第23行</li>
                <li>这是滚动信息的第24行</li>
                <li>这是滚动信息的第25行</li>
                <li>这是滚动信息的第26行</li>
                <li>这是滚动信息的第27行</li>
                <li>这是滚动信息的第28行</li>
                <li>这是滚动信息的第29行</li>
                <li>这是滚动信息的第30行</li>
            </ul>
        </div>
        <button id="btn1">上滚</button>
        <button id="btn2">下滚</button>
    </body>
    </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序