间歇轮播

作者: CondorHero | 来源:发表于2019-02-24 23:44 被阅读6次

小窗口间歇轮播

处理时候只需要复制第一个图片。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>间歇轮播</title>
    <style type="text/css">
        *{
            padding: 0;
            margin: 0;
        }
        div{
            width: 600px;
            height: 40px;
            line-height: 40px;
            border: 1px solid red;
            margin: 100px;
            position: relative;
            overflow: hidden;
        }
        div ul{
            position: absolute;
            top: 0;
            left: 0;
            list-style: none;
        }
    </style>
</head>
<body>
    <div>
        <ul>
            <li>通知:明天上课啊,后天也上课啊!</li>
            <li>通知:熬过三天就休息了!</li>
            <li>通知:哈哈哈哈哈哈哈哈哈哈!</li>
        </ul>
    </div>

    
    <script type="text/javascript" src="animate-2.0.1.js"></script>
    <script type="text/javascript">
        //得到所有元素
        var ul = document.getElementsByTagName("ul")[0];
        var lis = document.getElementsByTagName("li");

        var length = lis.length;

        //复制第0个li,追加到后面,当做魔术元素,猫腻
        ul.appendChild(lis[0].cloneNode(true));

        //信号量
        var idx = 0;
        //模拟右按钮的业务
        function move(){
            idx++;
            animate(ul,{"top":-40 * idx},800,function(){
                if(idx > length - 1){
                    idx = 0;
                    this.style.top = "0px";
                }
            });
        }
    

        //调用动画函数的间隔时间,要远大于动画运行时间
        //这时就给人感觉一个间歇的过程
        setInterval(move, 1800);
    </script>
</body>
</html>

大窗口间歇轮播

这个处理的时候全部内容复制一份。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>间歇轮播</title>
    <style type="text/css">
        *{
            padding: 0;
            margin: 0;
        }
        div{
            width: 600px;
            height: 200px;
            line-height: 40px;
            border: 1px solid blue;
            margin: 100px;
            position: relative;
            overflow: hidden;
        }
        div ul{
            position: absolute;
            top: 0;
            left: 0;
            list-style: none;
        }
    </style>
</head>
<body>
    <div>
        <ul>
            <li>邱*健 北京*狐网络有线公司 16k</li>
            <li>李*波 北京*东网络有线公司 26k</li>
            <li>王* 北京*60网络有线公司 36k</li>
            <li>赵* 北京*60网络有线公司 36k</li>
            <li>马* 北京*60网络有线公司 36k</li>
            <li>刘* 北京*60网络有线公司 36k</li>
            <li>李* 北京*60网络有线公司 36k</li>
            <li>李** 北京*60网络有线公司 36k</li>
        </ul>
    </div>

    
    <script type="text/javascript" src="animate-2.0.1.js"></script>
    <script type="text/javascript">
        //得到所有元素
        var ul = document.getElementsByTagName("ul")[0];
        var lis = document.getElementsByTagName("li");

        var length = lis.length;

        //复制所有li,追加到ul里
        ul.innerHTML += ul.innerHTML;

        //信号量
        var idx = 0;
        //模拟右按钮的业务
        function move(){
            idx++;
            animate(ul,{"top":-40 * idx},800,function(){
                if(idx > length - 1){
                    idx = 0;
                    this.style.top = "0px";
                }
            });
        }
    

        //调用动画函数的间隔时间,要远大于动画运行时间
        //这时就给人感觉一个间歇的过程
        setInterval(move, 1800);
    </script>
</body>
</html>

横图间歇轮播

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>间歇轮播</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        .rolling{
            width: 800px;
            height: 130px;
            border: 10px solid #ccc;
            margin: 100px auto;
            position: relative;
            overflow: hidden;
        }
        .rolling .m_unit{
            /*这是运动的单位*/
            /*这个宽度足以致命,为了让所有的li能够并排*/
            /*这个宽度随便取,大一点*/
            width: 5000px;
            position: absolute;
            top: 0;
            left: 0;
        }
        .rolling ul{
            list-style: none;
        }
        .rolling ul li{
            float: left;
            margin-right: 10px;
        }
    </style>
</head>
<body>
    <div class="rolling" id="rolling">
        <div class="m_unit" id="m_unit">
            <ul>
                <li><a href=""><img src="images/shuzi/0.png" alt="" /></a></li>
                <li><a href=""><img src="images/shuzi/1.png" alt="" /></a></li>
                <li><a href=""><img src="images/shuzi/2.png" alt="" /></a></li>
                <li><a href=""><img src="images/shuzi/3.png" alt="" /></a></li>
                <li><a href=""><img src="images/shuzi/4.png" alt="" /></a></li>
                <li><a href=""><img src="images/shuzi/5.png" alt="" /></a></li>
                <li><a href=""><img src="images/shuzi/6.png" alt="" /></a></li>
                <li><a href=""><img src="images/shuzi/7.png" alt="" /></a></li>
            </ul>
        </div>
    </div>
    
    <script type="text/javascript" src="animate-2.0.1.js"></script>
    <script type="text/javascript">
        //得到元素
        var rolling = document.getElementById("rolling");
        var m_unit = document.getElementById("m_unit");
        var listul = m_unit.getElementsByTagName("ul")[0];
        //得到图片的数量,计算折返点用的,折返点就是210 * 图片数量
        var lislength = listul.getElementsByTagName("li").length;

        //复制一倍的li
        listul.innerHTML += listul.innerHTML;
        
        //信号量
        var idx = 0;
        //模拟右按钮的业务
        function move(){
            idx++;
            animate(m_unit,{"left":-210 * idx},800,function(){
                if(idx > lislength - 1){
                    idx = 0;
                    this.style.left = "0px";
                }
            });
        }
    
        //调用动画函数的间隔时间,要远大于动画运行时间
        //这时就给人感觉一个间歇的过程
        var timer = setInterval(move, 2000);

        rolling.onmouseover = function(){
            clearInterval(timer);
        }

        rolling.onmouseout = function(){
            timer = setInterval(move, 2000);
        }
    </script>
</body>
</html>

相关文章

  • 间歇轮播

    小窗口间歇轮播 处理时候只需要复制第一个图片。 大窗口间歇轮播 这个处理的时候全部内容复制一份。 横图间歇轮播

  • 无标题文章

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。它们各具特色,各有用处。 1.传统轮播图 第一步...

  • 轮播图

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。 1.传统轮播图 第一步,得到元素 第二步,设置...

  • 轮播图心得

    1.传统轮播图 第一步,得到元素 第二步,设置定时器 第三步,监听(左右及小圆点)按钮事件 2.间歇轮播图思路: ...

  • 间歇轮播实列2,this的用法

    在实际操作中,用this方法获取某个节点是很方便简洁的this操作中,this在不绑定函数节点时是代表全局wind...

  • 轮播图

    间歇播图 思路: 1,用动画来改变ul的高度值; 1,获取ul 2,改变高度值 呼吸轮播图 思路 -用透明度来实现...

  • jQuery源码笔记(四、持续更新)

    一、间歇模型 我们想让轮播图显示3张图片,我们的编程思路是使用定时器,我们想要使图片每2000ms更换一次,然后完...

  • 项目-轮播图

    整个轮播图分为三部分:轮播指标、轮播项目及轮播导航。用boostrap实现轮播图要比用js、jQuery方便的多,...

  • jQuery传统轮播、三位置轮播、呼吸轮播

    一、传统轮播 二、三位置轮播 三、呼吸轮播

  • 轮播图的实现

    1、轮播图的协议 2、轮播视图:SMCarouselView 3、轮播视图的cell

网友评论

    本文标题:间歇轮播

    本文链接:https://www.haomeiwen.com/subject/eimiyqtx.html