• 原生js无缝滚动demo


    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="referrer" content="origin-when-crossorigin" />
        <meta http-equiv="Cache-Control" content="no-transform" />
        <meta http-equiv="Cache-Control" content="no-siteapp" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title>111</title>
        <style>
    * { margin: 0; padding: 0;}
    .clearfix {
        zoom: 1;
    }
    
    .clearfix:after {
        content: ".";
        width: 0;
        height: 0;
        visibility: hidden;
        display: block;
        clear: both;
        overflow:hidden;
    }
    
    .myscroll { width: 300px; height: 260px; margin: 0 auto; border: 1px solid #ccc; line-height: 26px; font-size: 12px; overflow: hidden;}
    .myscroll li {width:300px;height: 260px;flex-shrink: 0;}
    .myscroll a { color: #333; text-decoration: none;}
    .myscroll a:hover { color: #ED5565; text-decoration: underline;}
    ul{display: flex;flex-shrink: 0;}
    </style>
    </head>
    <body>
    <div class="myscroll">
        <ul class='clearfix'>
            <li><a href="#">1111111111111111111111</a></li>
            <li><a href="#">2222222222222222</a></li>
            <li><a href="#">33333333333333333</a></li>
            <li><a href="#">444444444444444444444444444</a></li>
            <li><a href="#">4444444444444444444</a></li>
            <li><a href="#">555555555555555555555555</a></li>
            <li><a href="#">66666666666666666666666666</a></li>
            <li><a href="#">7777777777777777777777777</a></li>
            <li><a href="#">8888888888888888888888888888</a></li>
            <li><a href="#">9999999999999999999999999999999</a></li>
            <li><a href="#">aaaaaaaaaaaaaaaaaa</a></li>
            <li><a href="#">bbbbbbbbbbbbbbbbbbbbbb</a></li>
            <li><a href="#">bbbbbbbbbbbbbbbbbbbbbbbbb</a></li>
            <li><a href="#">ddddddddddddddddddd</a></li>
            <li><a href="#">eeeeeeeeeeeeeeeeeee</a></li>
            <li><a href="#">ffffffffffffffffffffffffff</a></li>
        </ul>
    </div>
    <div id="btn">点点</div>
    </body>
    <script>
    let timer=null;
    let scrollOuter  = document.getElementsByClassName('myscroll')[0];
    let oUl=scrollOuter.getElementsByTagName('ul')[0];
    var li_width = document.getElementsByTagName("li")[0].clientWidth;
    oUl.style.width=document.getElementsByTagName("li").length * li_width + 'px';
    console.log(li_width);
    move()
    function move(){
        //console.log(scrollOuter.scrollLeft);
        if(timer){
            clearTimeout(timer);
            timer=null;
        }
    scrollOuter.scrollLeft+=1;
    
        if(scrollOuter.scrollLeft>li_width){
        console.log(scrollOuter.scrollLeft,li_width)
        scrollOuter.scrollLeft-=li_width;
        var currLi = document.getElementsByTagName("li")[0];
            var curr = oUl.removeChild(currLi);
            //console.log(curr)
            //oUl.appendChild(curr)
            
        }
    
        timer=window.setTimeout(move,10);
    }
    /*document.getElementsByTagName("li").onmouseover=function(){
        if(timer){
            clearTimeout(timer);
            timer=null;
        }
    }*/
    </script>
    </html>
    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="referrer" content="origin-when-crossorigin" />
        <meta http-equiv="Cache-Control" content="no-transform" />
        <meta http-equiv="Cache-Control" content="no-siteapp" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title>111</title>
        <style>
    * { margin: 0; padding: 0;}
    .myscroll { width: 300px; height: 260px; margin: 0 auto; border: 1px solid #ccc; line-height: 26px; font-size: 12px; overflow: hidden;}
    .myscroll li { height: 26px; margin-left: 25px;}
    .myscroll a { color: #333; text-decoration: none;}
    .myscroll a:hover { color: #ED5565; text-decoration: underline;}
    ul{display : block;margin-top:0;}
    </style>
    </head>
    <body>
    <video src="https://www.w3school.com.cn/i/movie.ogg" controls="controls"  autoplay="autoplay" id="myVideo">
    your browser does not support the video tag
    </video>
    <div class="myscroll">
        <ul>
            <li><a href="#">1111111111111111111111</a></li>
            <li><a href="#">2222222222222222</a></li>
            <li><a href="#">33333333333333333</a></li>
            <li><a href="#">444444444444444444444444444</a></li>
            <li><a href="#">4444444444444444444</a></li>
            <li><a href="#">555555555555555555555555</a></li>
            <li><a href="#">66666666666666666666666666</a></li>
            <li><a href="#">7777777777777777777777777</a></li>
            <li><a href="#">8888888888888888888888888888</a></li>
            <li><a href="#">9999999999999999999999999999999</a></li>
            <li><a href="#">aaaaaaaaaaaaaaaaaa</a></li>
            <li><a href="#">bbbbbbbbbbbbbbbbbbbbbb</a></li>
            <li><a href="#">bbbbbbbbbbbbbbbbbbbbbbbbb</a></li>
            <li><a href="#">ddddddddddddddddddd</a></li>
            <li><a href="#">eeeeeeeeeeeeeeeeeee</a></li>
            <li><a href="#">ffffffffffffffffffffffffff</a></li>
        </ul>
    </div>
    <div id="btn">点点</div>
    </body>
    <script>
    let timer=null;
    let scrollOuter  = document.getElementsByClassName('myscroll')[0];
    let oUl=scrollOuter.getElementsByTagName('ul')[0];
    var li_height = document.getElementsByTagName("li")[0].clientHeight;
    move()
    function move(){
        if(timer){
            clearTimeout(timer);
            timer=null;
        }
    scrollOuter.scrollTop+=1;
        if(scrollOuter.scrollTop>li_height){
        var currLi = document.getElementsByTagName("li")[0];
            var curr = oUl.removeChild(currLi);
            oUl.appendChild(curr)
            
        }
        /*if(timer){
            clearTimeout(timer);
            timer=null;
        }
        let rangeVal = parseFloat(scrollOuter.scrollHeight) - parseFloat(scrollOuter.clientHeight);
        let noticeInner = scrollOuter.getElementsByTagName('li')[0];
        console.log(scrollOuter.scrollTop,rangeVal)
        if(Math.abs(scrollOuter.scrollTop) < rangeVal){
            scrollOuter.scrollTop+=1;
        }else{
            scrollOuter.scrollTop=0;
        }*/
        
        
        
    /*    var noticeHTML=scrollOuter.innerHTML;
        let val1 = scrollOuter.scrollTop;
        scrollOuter.scrollTop+=1;
        let val2=scrollOuter.scrollTop;
         if(val1===val2){
            scrollOuter.innerHTML+=noticeHTML;
        }
        */
        timer=window.setTimeout(move,50);
    }
    /*document.getElementsByTagName("li").onmouseover=function(){
        if(timer){
            clearTimeout(timer);
            timer=null;
        }
    }*/
    var aud = document.getElementById("myVideo");
    aud.autoplay='autoplay';
    //aud.onended = function() {
      //  alert("音频播放完成");
    //};
    </script>
    </html>
    //onMouseOver={this.clearTime}
    //onMouseOut={this.move}
  • 相关阅读:
    GridView怪问题,更新时读取不到编辑后的值
    又过了一周
    虚惊一场
    [Joomla] 利用configuration.php存储简单数据
    [Joomla] Phoca Gallery 2.7去版权的方法
    SL还能做什么?
    [Joomla] Joomla 1.5不支持PHP 5.3
    [ecshop] 库项目的添加过程
    [Joomla] 著名CMS系统Joomla的后台图文解说
    了解Joomla
  • 原文地址:https://www.cnblogs.com/dongxiaolei/p/15953799.html
Copyright © 2020-2023  润新知