zoukankan      html  css  js  c++  java
  • js原生 + jQuery实现页面滚动字幕

      js原生/jQuery实现页面滚动字幕效果

    17:45:49

      在新闻列表或者文章列表信息等页面中很容易要求实现字幕滚动的效果,以下为简单的实现页面中滚动字幕的效果

    1、jQuery实现页面滚动字幕效果

      代码如下:

    <div class="box">
    <ul class="list">
    <li>这是滚动加载的第1条数据</li>
    <li>你猜猜这是第几条滚动加载的文字</li>
    <li>这是滚动加载的第3条数据</li>
    <li>你猜猜这是第几条滚动加载的文字</li>
    <li>这是滚动加载的第5条数据</li>
    <li>你猜猜这是第几条滚动加载的文字</li>
    <li>这是滚动加载的第7条数据</li>
    <li>你猜猜这是第几条滚动加载的文字</li>
    <li>这是滚动加载的第9条数据</li>
    </ul>
    </div>

    <style>
    .box{
    300px;height: 100px;overflow: hidden;
    margin: 50px auto;font: 14px/24px "微软雅黑";color: #666;
    }
    ul{
    260px;margin:10px auto;
    }
    li{
    padding-left: 10px;
    }
    </style>

    <script src="jquery.js" type="text/javascript" charset="utf-8"></script>


    <script type="text/javascript">
    function gunDong(){
    var big = $("ul");
    var ob = $("ul li:last");
    ob.hide();
    ob.prependTo(big);
    ob.slideDown("100");
    }
    var timer = setInterval("gunDong()",1000);
    $("div").hover(function(){
    clearInterval(timer);
    },function(){
    timer = setInterval("gunDong()",1000)
    })
    </script>

    2、js原生实现

    <body>
    <div class="box">
    <ul class="list" id="list">
    <div id="li_box">
    <li>这是滚动加载的第1条数据</li>
    <li>你猜猜这是第几条滚动加载的文字</li>
    <li>这是滚动加载的第3条数据</li>
    <li>你猜猜这是第几条滚动加载的文字</li>
    <li>这是滚动加载的第5条数据</li>
    <li>你猜猜这是第几条滚动加载的文字</li>
    <li>这是滚动加载的第7条数据</li>
    <li>你猜猜这是第几条滚动加载的文字</li>
    <li>这是滚动加载的第9条数据</li>
    </div>
    <div id="li_show"></div>
    </ul>
    </div>
    </body>

    <style>
    .box{
    500px;height: 160px;overflow: hidden;
    margin: 50px auto;font: 14px/24px "微软雅黑";color: #666;border: 1px solid #ccc;
    }
    ul{
    260px;height: 140px;margin:10px auto;overflow: hidden;
    }
    li{
    padding-left: 10px;
    }
    </style>

    <script type="text/javascript">
    var ul_cont = document.getElementById("list");
    var li_box = document.getElementById("li_box");
    var li_show = document.getElementById("li_show");

    li_show.innerHTML = li_box.innerHTML;//将li所在的div里边的内容赋给下边的div

    function gunDong(){
    if(li_show.offsetHeight - ul_cont.scrollTop <= 0){//如果ul的滚动高度大于列表的高度
    ul_cont.scrollTop -= li_box.offsetHeight;//ul的滚动高度减去列表的高度
    console.log(ul_cont.scrollTop);
    }else{
    ul_cont.scrollTop++;//ul的滚动高度递增
    }
    }
    var timer = setInterval(gunDong,100);//定时器,函数每隔100毫秒触发一次事件
    ul_cont.onmouseover = function(){
    clearInterval(timer);//鼠标滑入事件停止
    };
    ul_cont.onmouseout = function(){
    timer = setInterval(gunDong,100);//鼠标滑出事件开始
    }
    </script>

  • 相关阅读:
    有限制的最大连续和问题
    Codevs 5056 潜水员
    Codevs 1958 刺激
    Codevs 3731 寻找道路 2014年 NOIP全国联赛提高组
    [NOIP2014]解方程
    Codevs 3729 飞扬的小鸟
    Codevs 1689 建造高塔
    Codevs 2102 石子归并 2
    C语言基础之进制的那些事(1)
    指针
  • 原文地址:https://www.cnblogs.com/DreamerLeaf/p/6237818.html
Copyright © 2011-2022 走看看