JQuery 制作文字轮播

文字轮播
公告栏的滚动效果

思路: 先给li标签定位 然后通过JQuery 的animate()方法执行动画效果,是li标签的位置不断变化,从而实现从右到左的轮播效果

先上html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文字轮播</title>
    <script src="js/jquery190.js" language="javascript" type="text/javascript"></script>

    <style>
        .new_div {
            width: 500px;
            height: 20px;
            position: absolute;
            left: 50px;
            top: 100px;
        }

        .ul_sty {
            width: 100%;
            height: 100%;
            overflow: hidden;
            position: relative;
            padding-left: 0px;
            margin-top: 0px;
            border: 1px solid #e0dddd;
            border-radius: 8px;
        }

        .li_sty {
            font-size: 14px;
            position: absolute;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: red;
            margin-left: 5px;
        }
    </style>

</head>
<body>
<div class="new_div">
    <ul class='ul_sty' id="loopnew">
        <li class="li_sty">
            公告1
        </li>
        <li class="li_sty">
            公告2
        </li>
        <li class="li_sty">
            公告3
        </li>
    </ul>
</div>
</body>

首先给每个li标签定好位置

(function () {

        var $ul = $("#loopnew");
        //获得ul长度
        var ulwidth = $("#loopnew").width();

        //给li定位 起始位置
        function positionli() {
            $ul.find("li").each(function () { var index = $(this).index(); var left = index * ulwidth + ulwidth; $(this).css({left: left}); });
        }


        //轮播
        function lunbo() {
            $ul.find("li").each(function () { var liindex = $(this).index(); var lastleft = -($ul.find("li").length - liindex) * ulwidth $(this).animate({left: lastleft}, 10000, 'linear', function () { positionli(); lunbo(); }); });
        }
        positionli();
        lunbo();

    })();

这边有三个li标签 ul标签的宽度为500px
所以三个li标签的位置分别为 500px 1000px 1500px

使用JQuery的animate()方法改变每个li标签的位置 分别为 -1500px -1000px -500px
再在回调函数中再次调用positionli()定位li标签的位置和lunbo()实现循环轮播

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值