返回顶部
首页 > 资讯 > 精选 >如何利用CSS3实现的无缝轮播功能
  • 915
分享到

如何利用CSS3实现的无缝轮播功能

2023-06-08 14:06:54 915人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关如何利用css3实现的无缝轮播功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。无缝轮播的原理图1 . html的架构 :<div class="la

这篇文章将为大家详细讲解有关如何利用css3实现的无缝轮播功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

无缝轮播的原理图

如何利用CSS3实现的无缝轮播功能

1 . html的架构 :

<div class="layout">    <div class="jd_banner">        <ul class="clearfix">            <li><a href="#"><img src="images/l1.jpg"></a></li>            <li><a href="#"><img src="images/l2.jpg"></a></li>            <li><a href="#"><img src="images/l3.jpg"></a></li>            <li><a href="#"><img src="images/l4.jpg"></a></li>            <li><a href="#"><img src="images/l5.jpg"></a></li>            <li><a href="#"><img src="images/l6.jpg"></a></li>            <li><a href="#"><img src="images/l7.jpg"></a></li>            <li><a href="#"><img src="images/l8.jpg"></a></li>            <li><a href="#"><img src="images/l1.jpg"></a></li>        </ul>    </div></div>

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';    }        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);

那么&hellip;.原因到底是为什么呢 ?

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

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

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

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

关于“如何利用CSS3实现的无缝轮播功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 如何利用CSS3实现的无缝轮播功能

本文链接: https://lsjlt.com/news/254482.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何利用CSS3实现的无缝轮播功能
    这篇文章将为大家详细讲解有关如何利用CSS3实现的无缝轮播功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。无缝轮播的原理图1 . html的架构 :<div class="la...
    99+
    2023-06-08
  • 原生js如何实现无缝轮播功能
    小编给大家分享一下原生js如何实现无缝轮播功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下说明:这是一个使用原生js、es5语法写出的无缝轮播程序,...
    99+
    2023-06-15
  • JavaScript如何实现无缝轮播图
    这篇文章主要讲解了“JavaScript如何实现无缝轮播图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript如何实现无缝轮播图”吧!效果一、实现过程1)首先实现基本布局&nb...
    99+
    2023-07-02
  • vue如何实现无缝轮播图
    目录vue实现无缝轮播图轮播图的思路无缝轮播(跑马灯效果)vue实现无缝轮播图 轮播图的思路 一组图片进行不停地循环,如果循环到最后一张图片,就从第一张开始,不停循环,我们可以设置图...
    99+
    2024-04-02
  • jQuery如何实现无缝轮播效果
    这篇文章将为大家详细讲解有关jQuery如何实现无缝轮播效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。这个无缝轮播和那个图片平滑滚动的原理差不多。原理:ul向左滚动,...
    99+
    2024-04-02
  • Vue如何实现无缝轮播效果
    这篇文章主要介绍Vue如何实现无缝轮播效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下代码1.子组件代码代码如下(示例):<template>  <div>&...
    99+
    2023-06-14
  • js如何实现文字无缝轮播
    这篇“js如何实现文字无缝轮播”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“js如何实现文字无缝轮播”文章吧。所用到的知识点...
    99+
    2023-07-02
  • jquery如何实现无缝轮播图特效
    本文小编为大家详细介绍“jquery如何实现无缝轮播图特效”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery如何实现无缝轮播图特效”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、HTML结构首先需要创...
    99+
    2023-07-05
  • react怎么实现手机端首页无缝轮播功能
    本篇内容主要讲解“react怎么实现手机端首页无缝轮播功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react怎么实现手机端首页无缝轮播功能”吧!touchstart = ...
    99+
    2023-06-05
  • 如何在Android中利用viewpager实现一个无限轮播功能
    如何在Android中利用viewpager实现一个无限轮播功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。小圆点属性dot_focused.xml<xml&nbs...
    99+
    2023-05-30
    viewpager android
  • 原生js如何实现无缝轮播图效果
    这篇文章主要介绍了原生js如何实现无缝轮播图效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。请看代码<!DOCTYPE h...
    99+
    2024-04-02
  • js如何实现轮播图无缝滚动效果
    这篇文章主要介绍了js如何实现轮播图无缝滚动效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先文字说明一下:如果要展示5张图,分别为1,2...
    99+
    2024-04-02
  • iOS Swift利用UICollectionView实现无限轮播功能(原理)详解
    前言 作为一个资深(自认为)iOS程序猿,会经常用到轮播图,上一次使用UIScrollView实现无限轮播的效果,这一次在Swift语言中,我使用UICollectionView再为...
    99+
    2022-05-27
    swift uicollectionview 无限轮播
  • CSS如何实现轮播图功能
    本篇内容介绍了“CSS如何实现轮播图功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现思路通过animation达到动起来的效果,具体变...
    99+
    2023-06-20
  • JavaScript实现无缝轮播图的示例代码
    目录上效果一、实现过程1)首先实现基本布局2)主要样式二、如何实现无缝呢 (重点来了)思路:主要代码完整代码花费一个下午从0到1实现的轮播图,当然还有很多需要改进的地方(欢迎提出需要...
    99+
    2024-04-02
  • 原生Js如何实现简单无缝滚动轮播图
    这篇文章给大家分享的是有关原生Js如何实现简单无缝滚动轮播图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。原简单的滚动轮播代码<html><head>   &...
    99+
    2023-06-15
  • jQuery如何实现图片轮播功能
    这篇文章主要介绍了jQuery如何实现图片轮播功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。jquery 轮播图代码如下所示:<h...
    99+
    2024-04-02
  • C#如何实现图片轮播功能
    本篇内容介绍了“C#如何实现图片轮播功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果代码public partial&nbs...
    99+
    2023-07-04
  • vue实现无缝轮播效果的示例代码
    小编给大家分享一下vue实现无缝轮播效果的示例代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下首先创建两个vue组件Sweiper.vue和Swei...
    99+
    2023-06-15
  • 如何用js实现简单的图片轮播功能
    这篇文章主要介绍“如何用js实现简单的图片轮播功能”,在日常操作中,相信很多人在如何用js实现简单的图片轮播功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用js实现简...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作