CSS3做出无缝轮播广告

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

无缝轮播的原理图

CSS3做出无缝轮播广告

1 . html的架构 :

JavaScript:

/*轮播图*/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做出无缝轮播广告CSS3做出无缝轮播广告

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 00:43:44
下一篇 2025年12月24日 00:44:12

相关推荐

  • CSS3做出倒影的图文详解

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

    2025年12月24日 好文分享
    000
  • 完全利用CSS实现元素居中

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

    好文分享 2025年12月24日
    000
  • css3的pointer-events使用详解

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

    2025年12月24日
    000
  • CSS制作“正在加载”提示框

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

    2025年12月24日
    000
  • 关于CSS3的一些小知识

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

    好文分享 2025年12月24日
    000
  • css中hover做遮盖罩闪动问题

    这次给大家带来css中hover做遮盖罩闪动问题,css中hover做遮盖罩的注意事项有哪些,下面就是实战案例,一起来看一下。 具体代码如下所示: 你好 这是html代码部分,原本想做一个遮盖罩的效果,当鼠标移动到p2的时候,p3会出现微微遮一下p2. 所以最开始的css代码是这样的 做完后发现出了…

    2025年12月24日 好文分享
    000
  • CSS的mask-image属性详解

    这次给大家带来CSS的mask-image属性详解,使用CSS的mask-image属性注意事项有哪些,下面就是实战案例,一起来看一下。 CSS mask遮罩属性的历史非常久远了,远到比CSS3 border-radius等属性还要久远,最早是出现在Safari浏览器上的,差不多可以追溯到09年。 …

    2025年12月24日
    000
  • CSS3的linear-gradient线性渐变使用方法

    这次给大家带来CSS3的linear-gradient线性渐变使用方法,使用CSS3的linear-gradient线性渐变注意事项有哪些,下面就是实战案例,一起来看一下。 在商城项目中,购物车是一个很重要的功能。其中最常见的是购物车中对库存的“+-”操作,包括抢购后面有很多算法。但是作为前端来说,…

    2025年12月24日
    000
  • CSS3的rem(设置字体大小)使用教程

    这次给大家带来CSS3的rem(设置字体大小)使用教程,使用CSS3的rem(设置字体大小)的注意事项有哪些,下面就是实战案例,一起来看一下。 css3新增了相对单位 rem ,使用rem同em一样皆为相对字体大小单位,不同的是rem相对的是HTML根元素。鉴于很多网友提到了rem,所以我这里就对其…

    2025年12月24日
    000
  • CSS的loading动画效果使用教程

    这次给大家带来CSS的loading动画效果使用教程,CSS的loading动画效果使用注意事项有哪些,下面就是实战案例,一起来看一下。 本文介绍了一份纯CSS loading效果代码示例,分享给大家,具体如下: 预览 代码 使用了CSS的keyframes自定义关键帧动画 Loading p#pr…

    2025年12月24日
    000
  • Css绘制扇形图案

    这次给大家带来Css绘制扇形图案,Css绘制扇形图案的注意事项有哪些,下面就是实战案例,一起来看一下。 阅读此文需具备基本数学知识:圆心角、弧度制、三角函数。 为实现如下效果呕心沥血: 当然你可以拥抱 Svg…在此分享如何纯 Css 打造圆环进度条,只需三步! 此物乃 2 + 1 夹心饼…

    2025年12月24日 好文分享
    000
  • 纯css实现照片墙3D效果

    这次给大家带来纯css实现照片墙3D效果,纯css实现照片墙3D效果的注意事项有哪些,下面就是实战案例,一起来看一下。 直接上代码 1.准备材料: 准备材料就是没什么材料,自己麻溜赶快的去:百度找几张美女的照片来测试即可。 2.html代码: 照片墙 @@##@@ @@##@@ @@##@@ @@#…

    2025年12月24日
    000
  • CSS的滤镜实现火焰效果

    这次给大家带来CSS的滤镜实现火焰效果,CSS滤镜实现火焰效果的注意事项有哪些,下面就是实战案例,一起来看一下。 上次我们了解了一些css滤镜的基础知识,CSS滤镜 filter属性 这次我们就来用css的滤镜实现一个 火焰的效果。 解释 要实现上面的火焰效果,我们先来了解一些必要的东西。 上次我们…

    2025年12月24日 好文分享
    000
  • css中sticker-footer布局如何使用

    这次给大家带来css中sticker-footer布局如何使用,使用css中sticker-footer布局的注意事项有哪些,下面就是实战案例,一起来看一下。 在网页设计中,Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过。它可以概括如下:如果页面内容不够长的时候,页…

    好文分享 2025年12月24日
    000
  • CSS3的鼠标移入图片动态提示效果

    这次给大家带来CSS3的鼠标移入图片动态提示效果,实现CSS3鼠标移入图片动态提示效果的注意事项有哪些,下面就是实战案例,一起来看一下。 第一次尝试着写博客,不好或者有误的地方希望大家多多指正呐,今天主要写的是关于CSS3的一个重要属性transform的一些用法,这些例子是之前在慕课网上学习某位老…

    2025年12月24日 好文分享
    000
  • css3做出半圆弧线

    这次给大家带来css3做出半圆弧线,css3做出半圆弧线的注意事项有哪些,下面就是实战案例,一起来看一下。 本文介绍了css3实现画半圆弧线的示例代码,分享给大家,具体如下: css代码 .circle1 { width: 100px; height: 200px; border: 1px soli…

    2025年12月24日
    000
  • css3文字渐变动画

    这次给大家带来css3文字渐变动画,实现css3文字渐变动画的注意事项有哪些,下面就是实战案例,一起来看一下。 利用css3这个属性(背景剪裁): background-clip: border-box || padding-box || context-box || no-clip || text…

    2025年12月24日 好文分享
    000
  • CSS3做出条纹大背景

    这次给大家带来CSS3做出条纹大背景,使用CSS3做出条纹大背景的注意事项有哪些,下面就是实战案例,一起来看一下。 1. 实现不等宽背景条纹: .cont{width: 500px;height: 200px;background: linear-gradient(#78C9DB 70%,#0acf…

    2025年12月24日 好文分享
    000
  • css3的动画序列animation

    这次给大家带来css3的动画序列animation,使用css3动画序列animation的注意事项有哪些,下面就是实战案例,一起来看一下。 首先复习一下animation动画添加各种参数 (1)infinite参数,表示动画将无限循环。在速度曲线和播放次数之间还可以插入一个时间参数,用以设置动画延…

    2025年12月24日 好文分享
    000
  • 用css隐藏input的光标

    这次给大家带来用css隐藏input的光标,用css隐藏input的光标的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 最近公司的ui突然跑过来问我一个问题:“如何在不影响操作的情况下,把input的光标隐藏了?”。 我相信很多人会跟我一样,觉得这是个什么狗屁需求,输入框不要光标这不是反人…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信