CSS3做出无缝轮播广告

这次给大家带来CSS3做出无缝轮播广告,CSS3做出无缝轮播广告的注意事项有哪些,下面就是实战案例,一起来看一下。

无缝轮播的原理图

CSS3做出无缝轮播广告

1 . html的架构 :

登录后复制

注意事项:

/*轮播图*/function banner() {    var banner = document.querySelector('.banner');    /*获取设备宽度*/    var offsetWidth = banner.offsetWidth;    /*图片容器*/    var imageBox = banner.querySelector('ul:first-child');    /*给图片容器添加过渡动画属性*/    function addTransition() {        imageBox.style.transition = 'all 0.5s';        imageBox.style.webkitTransition = 'all 0.5s';    }    /*清除图片容器添加过渡动画属性*/    function removeTransition() {        imageBox.style.transition = 'none';        imageBox.style.webkitTransition = 'none';    }    /*设置X轴定位*/    function setTranslateX(offsetX) {        imageBox.style.transform = 'translateX(' + offsetX + 'px)';        imageBox.style.webkitTransform = 'translateX(' + offsetX + 'px)';    }    // 定义当前索引    var index = 1;    // 自动轮播    var timer = setInterval(function () {        index++;        addTransition();        setTranslateX(-index * offsetWidth);        //同步设置css        //底层异步操作    }, 2000);    transVar.transitionEnd(imageBox, function () { //监听每一次动画的结束        if (index >= 9) { // 当轮播到第9张的时候,无缝切换到第1张图片            index = 1;            // 清除过渡            removeTransition();            //无动画效果的定位到第一张图片            setTranslateX(-index * offsetWidth);        }     });  }

登录后复制

JavaScript : 监听动画结束事件

window.transVar = {};   //定义一个window的全局对象//监听css3过渡动画的结束事件transVar.transitionEnd = function(obj,callback){    if (typeof  obj == 'object'){        obj.addEventListener('webkitTransitionEnd',function(){  // 兼容写法            callback && callback();  // && 运算符 , 如果callback函数存在,则调用callback()函数        })        obj.addEventListener('transitionEnd',function(){            callback && callback();        })    }}

登录后复制

小结 : 在利用CSS3实现无缝轮播时,一开始一直在纠结怎样做到无缝切换到第一张, 当初有一个比较单纯的想法

想着在轮播的过程中,直接判断是否到了第9张图片,然后调用removeTransition();取消过渡 , 然后改变index=1,让它无缝切换到第1张, 正当我信心满满以为完成了,却结果却给了我一巴掌!!!!!!

var timer = setInterval(function () {        index++;        addTransition();        setTranslateX(-index * offsetWidth);        if (index >= 9) {   // 当轮播到第9张时,不调用监听动画事件,直接取消过渡状态            removeTransition();            index = 1;            setTranslateX(-index * offsetWidth);        }     }, 2000);

登录后复制

那么….原因到底是为什么呢 ?

因为 CSS3的过渡是异步事件, 那时候的我恍然大悟,才意识到了自己的年少无知.

那么既然是异步事件, 我们就需要利用监听事件,来监听每一次过渡状态结束的时候,

然后再判断当前的下标是否到了最后一张,

再无动画状态的切换到第1张.

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

注意事项

注意事项

CSS3做出无缝轮播广告CSS3做出无缝轮播广告CSS3做出无缝轮播广告CSS3做出无缝轮播广告CSS3做出无缝轮播广告CSS3做出无缝轮播广告CSS3做出无缝轮播广告CSS3做出无缝轮播广告CSS3做出无缝轮播广告

以上就是CSS3做出无缝轮播广告的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2899173.html

(0)
上一篇 2025年3月10日 23:42:46
下一篇 2025年3月10日 23:42:55

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • CSS3做出倒影的图文详解

    这次给大家带来css3做出倒影的图文详解,css3做出倒影效果的注意事项有哪些,下面就是实战案例,一起来看一下。 效果图如下: 示例图片 在CSS3之前,想要实现示例图片这样的一个倒影效果一般只能通过处理图片的方式,而CSS3问世之后,想要…

    2025年3月10日 编程技术
    000
  • 完全利用CSS实现元素居中

    这次给大家带来完全利用CSS实现元素居中,利用CSS实现元素居中的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 记得有次找工作面试的时候,一面试官问了一个CSS方面的问题:如何让元素在浏览器窗口中上下左右居中。我记得当时给了个答案…

    编程技术 2025年3月10日
    200
  • css3的pointer-events使用详解

    这次给大家带来css3的pointer-events使用详解,使用css3的pointer-events的注意事项有哪些,下面就是实战案例,一起来看一下。 pointer-events 是什么? 顾名思义,pointer-events 是一…

    2025年3月10日
    200
  • CSS制作“正在加载”提示框

    这次给大家带来CSS制作“正在加载”提示框,CSS制作“正在加载”提示框的注意事项有哪些,下面就是实战案例,一起来看一下。  需求:               有时加载数据比较慢,页面一直没有反应,用户也许会不停的刷,而且用户体验也不好 …

    2025年3月10日
    200
  • 关于CSS3的一些小知识

    本文主要和大家聊聊关于css3的一些小知识,希望能帮助到大家。下面跟随小编一起来看一下吧。 box-shadow向 p 元素添加阴影box-shadow: h-shadow v-shadow blur spread color inset;…

    编程技术 2025年3月10日
    200
  • css清除浮动float的兼容性方法

    这次给大家带来css清除浮动float的兼容性方法,css清除浮动float兼容性清除浮动有哪些,下面就是实战案例,一起来看一下。 在清除浮动前我们要了解两个重要的定义: 浮动的定义:使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者…

    编程技术 2025年3月10日
    200
  • 用css3做出气球图片样式

    这次给大家带来用css3做出气球图片样式,用css3做出气球图片样式的图片有哪些,下面就是实战案例,一起来看一下。 气球效果图: html: 登录后复制 css: .balloon{ width: 160px; height: 160px;…

    2025年3月10日
    200
  • css实现操作table列

    这次给大家带来css实现操作table列,css实现操作table列的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 最近在做的后台管理系统要处理大量的表格,因为原项目是采用的注意事项加拼接字符串的方式实现;导致js代码一大堆;各种…

    编程技术 2025年3月10日
    200
  • CSS图片下有间隙如何处理

    这次给大家带来CSS图片下有间隙如何处理,处理CSS图片下有间隙的CSS图片有哪些,下面就是实战案例,一起来看一下。 在进行页面的p+CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝…

    编程技术 2025年3月10日
    200
  • CSS鼠标悬浮无限生成下级页面

    这次给大家带来CSS鼠标悬浮无限生成下级页面,CSS鼠标悬浮无限生成下级页面的注意事项有哪些,下面就是实战案例,一起来看一下。 废话不多说了,直接大家贴代码了,具体代码如下所示; *{ margin: 0; padding: 0; } ul…

    2025年3月10日
    200

发表回复

登录后才能评论