Jquery文字逐行向上滚动的实现代码

发布时间:2020-07-08编辑:脚本学堂
分享一例jquery实现的文字逐行向上滚动的代码,挺不错的,有需要的朋友参考下。Jquery文字一行一行向上滚动的效果,使用jquery中animate方法实现。

基本原理:运用了一个小技巧,滚动的高度和每个li的高度一样的,先找到外层ul的容器,然后相对于外层的容器进行向上滚动,ul在css里面没有设置他的高度,默认情况下是n个li×li的高度 向上是marginTop: -li.height(每个li的高度);
 * 当滚动到最后一个li时,最外层的容器应该滚动到0了,就把第一个li加到ul中去,便可以实现循环滚动。
 * 而不会滚动到最后一个就停止。

 代码:
 

复制代码 代码示例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>jquery文字一行一行向上滚动-www.jb200.com</title>
    <style type="text/css">
        ul,li{list-style:none; margin:0; padding:0;}
        .scroll{ width:500px; height:175px; overflow:hidden; border:1px solid #333; margin:50px auto 0;}
        .scroll li{ width:500px; height:25px; line-height:25px; overflow:hidden;}
        .scroll li a{ font-size:14px; font-family:"宋体";color:#333; text-decoration:none;}
        .scroll li a:hover{ text-decoration:underline;}
    </style>
    <script type="text/javascript" src="/js/jquery/1.5.1/jquery.min.js"></script>
    </head>
    <body>
        <div class="scroll">
            <ul class="list">
                <li><a href="#" target="_blank">脚本学堂,提供丰富的脚本编程、网站编程、数据库等技术文章。</a></li>
                <li><a href="#" target="_blank">脚本学堂,提供丰富的脚本编程、网站编程、数据库等技术文章。</a></li>
                <li><a href="#" target="_blank">脚本学堂,提供丰富的脚本编程、网站编程、数据库等技术文章。</a></li>
                <li><a href="#" target="_blank">脚本学堂,提供丰富的脚本编程、网站编程、数据库等技术文章。</a></li>
                <li><a href="#" target="_blank">脚本学堂,提供丰富的脚本编程、网站编程、数据库等技术文章。</a></li>
                <li><a href="#" target="_blank">脚本学堂,提供丰富的脚本编程、网站编程、数据库等技术文章。</a></li>
                <li><a href="#" target="_blank">脚本学堂,提供丰富的脚本编程、网站编程、数据库等技术文章。</a></li>
            </ul>
        </div>
        <script type="text/javascript" src="index.js"></script>
    </body>
</html>

2,js代码部分
 

复制代码 代码示例:
/**
* 文字逐行向上滚动
* edit:www.jb200.com
*/
function autoScroll(obj){
    $(obj).find(".list").animate({
        marginTop : "-25px"
    },500,function(){
        $(this).css({marginTop : "0px"}).find("li:first").appendTo(this);
    })
}
$(function(){
    setInterval('autoScroll(".scroll")',3000)
})