简单说说轮播图的做法

今天给大家讲的是轮播图的做法,轮播图的思路就是最外边div的边框把超出的部分隐藏,中间的div给出所有图片加起来的宽度,如果是浮动的话,直接图片的宽度*张数+1,不是的话,要预留他们的距离,小的div向左边移动。
闲话不多上,上代码。

css部分:
/#wrap{width: 200px;overflow: hidden;}
.middle{width: 1100px;}
img{width: 200px;height: 300px;}

html部分:
<body>
<div id="wrap">
<div class="middle">
<img />
<img />
<img />
<img />
<img />
</div>
</div>
</body>
第五张图片是用来做无缝轮播使用的,当图片运行到第五张图片的时候,把他的位置强制变成第一张

JS部分:
<script src="tween/tween.js" charset="utf-8"></script>
<script type="text/javascript">
//1 获取元素
var div = document.getElementsByClassName('middle')[0];

//2 定义所需变量
var num = 0;

//3 加定时器(随时间滚动)
var timer = setInterval(fun,2000);
function fun(){
    num++;
    //定义四个变量作为tween动画的函数参数
    var startT = 0;
    var endT = 30;
    var startP = parseInt(div.style.marginLeft) || 0;
    var endP = num*(-200)-startP;

    //添加定时器做tween动画(针对每一张图片)
    var smallTimer = setInterval(function(){
        //每次动画结束清除定时器
        if (startT >= endT) {
            clearInterval(smallTimer);
            //在动画结束的一瞬间,判断是否是最后一张图片,如果是,跳到第一张
            if(num == 4){
                num = 0;
                div.style.marginLeft = '0px';
            }
        }else{
            div.style.marginLeft=Tween.Bounce.easeIn(startT,startP,endP,endT)+'px';
        }   
        startT++;
    },30);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 5,776评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,826评论 0 11
  • 第一部分HTML&CSS整理答案1.什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HTML5...
    Programmer客栈阅读 6,091评论 0 12
  • Ø JavaScript 3 1. HTML对象获取问题 32. const问题 33. event.x与even...
    横冲直撞666阅读 8,375评论 0 7
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92