Jquery特效三:多行滚动显示

本文介绍了一种使用jQuery实现的多行文本滚动效果。通过自定义插件的方式,灵活设置了滚动行数、速度和时间间隔等参数,并实现了鼠标悬停停止滚动的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果图及代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
ul,li{margin:0;padding:0}
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}
#scrollDiv li{height:25px;padding-left:10px;}
</style>
        <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
        <script type="text/javascript">
            //滚动插件
            (function ($) {
                $.fn.extend({
                    Scroll: function (opt, callback) {
                        //参数初始化
                        if (!opt) var opt = {};
                        var _this = this.eq(0).find("ul:first");
                        var lineH = _this.find("li:first").height(), //获取行高
                        line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10), //每次滚动的行数,默认为一屏,即父容器高度
                        speed = opt.speed ? parseInt(opt.speed, 10) : 500, //卷动速度,数值越大,速度越慢(毫秒)
                        timer = opt.timer ? parseInt(opt.timer, 10) : 3000; //滚动的时间间隔(毫秒)
                        if (line == 0) line = 1;
                        var upHeight = 0 - line * lineH;
                        //滚动函数
                        scrollUp = function () {
                            _this.animate({
                                marginTop: upHeight
                            }, speed, function () {
                                for (i = 1; i <= line; i++) {
                                    _this.find("li:first").appendTo(_this);
                                }
                                _this.css({ marginTop: 0 });
                            });
                        }
                        //鼠标事件绑定
                        _this.hover(function () {
                            clearInterval(timerID);
                        }, function () {
                            timerID = setInterval("scrollUp()", timer);
                        }).mouseout();
                    }
                })
            })(jQuery);

            $(document).ready(function () {
                $("#scrollDiv").Scroll({ line: 4, speed: 500, timer: 1000 });
            });
</script>
</head>
<body>
    <form id="form1" runat="server">
<p>多行滚动演示:</p>
<div id="scrollDiv">
  <ul>
    <li>这是公告标题的第一行</li>
    <li>这是公告标题的第二行</li>
    <li>这是公告标题的第三行</li>
    <li>这是公告标题的第四行</li>
    <li>这是公告标题的第五行</li>
    <li>这是公告标题的第六行</li>
    <li>这是公告标题的第七行</li>
    <li>这是公告标题的第八行</li>
  </ul>
</div>
    </form>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值