用JavaScript做简易的轮播图

下面的是一个轮播图,超简单.
上大二的时候学静态网页,有了解过一点当时觉得超级不好做,现在再看就轻松多了.
下面就要开始表演了.
css

<style>
        #showimg{
            width: 500px;
            height: 200px;
             margin-top: 20px;
             margin-left: 500px;
        }
        #showimg img{
            transition: width .5s;
            width: 500px;
            height: 200px;
            display: inline;
  }
        .ulstyle{
            list-style: none;
            text-align: center;
        }
        .ulstyle li{
            display: inline-block;
            padding: 5px;
            background-color: grey;
            width: 20px;
            height: 20px;
            color: white;
            border-radius: 50%;
            cursor: pointer;
        }


    </style>

body

<div id="showimg">
    ![](../img2/10.jpg)
    ![](../img2/11.jpg)
    ![](../img2/12.jpg)
    ![](../img2/13.jpg)
    ![](../img2/15.jpg)
    <ul class="ulstyle">
        <li>1</li>
        <li >2</li>
        <li >3</li>
        <li >4</li>
        <li >5</li>
    </ul>

</div>
<div id="divmx"></div>

js

<script>
    var divimg = document.getElementById("showimg");//创建图片div对象
    var lis = document.getElementsByTagName("li");//创建li对象
//    var lis = document.getElementByid("li1");

    for(var i=0;i<lis.length;i++){ //循环lis
        lis[i].index=i;//获取下标
        lis[i].onclick=function(){ //给每个li添加事件
            count=this.index;
            showimg();
        }

    }
    divimg.onmouseover=function(){ //当鼠标在图片上的事件
//        console.log("over");
        clearInterval(setIntobj); //清除动画
    }
    divimg.onmouseout=function(){ //当鼠标离开是的事件
//        console.log("out");
        clearInterval(setIntobj);//先清除
        setIntobj=setInterval(showimg,1000);//在创建重新执行

    }

    var count = 0;
    function showimg(){ //图片
        var imgs = document.getElementsByTagName('img');//创建图片对象
        for(var i=0;i<imgs.length;i++){ //循环得到单个图片
            imgs[i].style="display:none";//使用display属性的显示和隐藏
        }
        imgs[count].style="display:block";
        count++;
        if(count==imgs.length){//重复循环图片
            count=0;
        }
    }
    var setIntobj=setInterval(showimg,1000); //每隔1秒执行



</script>

是不是很简单....
大家可以用在线的编辑器看效果,有点丑将就看吧.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,816评论 1 92
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,812评论 0 8
  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 7,201评论 2 19
  • 我才不信你有多爱我,更多的是懦弱。
    辛木木阅读 186评论 0 1
  • 判断一个字符串A的permutation是否在另一个字符串B中,即判断字符串A中的所有字符是否在字符B中被连续使用...
    尴尴尬尬先生阅读 786评论 0 0