首页 > 代码库 > 图片轮播

图片轮播

<!DOCTYPE html>

<html>

<head>

    <title></title>

    <meta charset="utf-8"/>

    <style type="text/css">

        body,ul,li{

            margin: 0;

            padding: 0;

        }

        #main{

            width: 226px;

            overflow: hidden;

        }

        img{

            width: 226px;

            height: 226px;

        }

        #main ul{

            width: 452px;

        }

        #main ul li{

            list-style-type: none;

            float: left;

        }

    </style>

</head>

<body>

<div id="main">

    <ul id="imglist">

        <li ><img src=http://www.mamicode.com/"1.jpg" alt="">

        <li><img src=http://www.mamicode.com/"2.jpg" alt="">

    </ul>

</div>

<script type="text/javascript">

   function $(id){

       return document.getElementById(id);

   }

    //  获得ul  对象, 存储到变量里去

    var ulobj = $(‘imglist‘);

   //  给li 添加默认的marginLeft 的属性, 为0 ,这是为了后边在第一次获得数据的时候不为空

       ulobj.getElementsByTagName("li")[0].style.marginLeft=‘0‘;

       ulobj.getElementsByTagName("li")[1].style.marginLeft=‘0‘;


    setInterval(function(){

        //  获得  ul 下的第一个li 儿子,并且不能放在外面,因为li 都是动态创建的

        var templi =  ulobj.getElementsByTagName("li")[0];

        //  获得  li  距离左边的距离,为了距离的叠减

        var tempnm = parseInt(templi.style.marginLeft);

        templi.style.marginLeft = tempnm-10+‘px‘;

        //  判断如果第一个儿子不在可视区域

        if(tempnm<=-226){

            // 克隆节点

           var changeli =  templi.cloneNode(true);

            // 删除第一个儿子

            ulobj.removeChild(templi);

            //  将克隆的节点的marginLeft 值还原为默认值

            changeli.style.marginLeft=‘0‘;

            //  最后将克隆的节点放在ul 的最后面

            ulobj.appendChild(changeli);

        }

    },50);



</script>

</body>

</html>