iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么用js实现3D轮播图效果
  • 177
分享到

怎么用js实现3D轮播图效果

2023-06-25 11:06:38 177人浏览 泡泡鱼
摘要

本篇内容主要讲解“怎么用js实现3D轮播图效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用js实现3D轮播图效果”吧!具体内容如下:主要有平移和旋转构成3d效果的轮播图,小白一只,不足之

本篇内容主要讲解“怎么用js实现3D轮播图效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用js实现3D轮播图效果”吧!

具体内容如下:

主要有平移和旋转构成3d效果的轮播图,小白一只,不足之处还请大家多多指教,代码如下

CSS代码:

 *{            padding: 0;            margin: 0;        }        .box{            position: relative;            width: 100%;            height: 100%;            top: 200px;            margin: auto;        }        .warpper{            position: absolute;            width: 100%;            height: 100%;            perspective: 800px;            transfORM-style:preserve-3d;         }        .box .warpper img{            width: 300px;            height: 200px;            float: left;            position: absolute;            top: 0;            left: 0;            bottom: 0;            right: 0;            margin: auto;            border-radius: 8px;            transition: all 1s ease-in-out;        }        .btn{            position: relative;            top: 50%;            left: 50%;             width: 1200px;            transform: translate(-50%,-20px);        }        .btn .left,.btn .right{            height: 50px;            width: 50px;            font-size: 30px;            text-align: center;            line-height: 50px;            background-color: black;            color: white;            border-radius: 15%;            position: absolute;        }        .btn .left{            left: 0;        }        .btn .right{            right: 0;        }        .btn span:hover{            background-color: rgba(0,0,0,0.8);        }        .points{            position: absolute;            left: 50%;            bottom: 10px;            transform: translate(-50%,200px);            height: 14px;        }        .points li{            display: inline-block;            list-style: none;            width: 14px;            height: 14px;            border: 1px solid #000;            border-radius: 50%;            background-color: white;            margin: 0 5px;        }        .points .current{            background-color: red;        }

html代码:

<div class="box">        <div class="warpper">            <img src="./励志3.jpg" alt="">            <img src="./励志2.jpg" alt="">            <img src="./2f1d.jpg" alt="">            <img src="./aimg.jpg" alt="">            <img src="./peg.jpg" alt="">        </div>        <div class="btn" id="btn">            <span class="left"> < </span>            <span class="right"> > </span>        </div>        <ul class="points">        </ul>    </div><script src="swarp.js"></script>

JS代码:

var imgs = document.querySelectorAll("img")var btns = document.querySelectorAll("span")var ul = document.querySelector(".points")var lis = document.getElementsByTagName("li")var timervar current = 0 // 当前播放图片的索引var flag = true //点击防抖节流var len = imgs.length //图片长度function loadFirst() {    imgMove()    bind()    btnClick()    getDot()    showDot()    autoPlay()}loadFirst()function imgMove() {    var mlen = Math.floor(len / 2)    for (var i = 0; i < mlen; i++) {        // 当前播放图片索引值        var rimg = current + 1 + i        var limg = len + current - 1 - i        if (rimg >= len) {            rimg -= len        }        if (limg >= len) {            limg -= len        }        imgs[limg].style.transform = `translateX(${150 * (i + 1)}px) translateZ(${200 - i * 100}px) rotateY(-30deg)`        imgs[rimg].style.transform = `translateX(${-150 * (i + 1)}px) translateZ(${200 - i * 100}px) rotateY(30deg)`    }    imgs[current].style.transform = `translateZ(300px)`}// 自动播放的函数function autoPlay() {    timer = setInterval(function () {        if (current >= len - 1) {            current = 0        } else {            current++        }        imgMove()        autoLi()    }, 3000)}// 点击图片进行播放function bind() {    for (let i = 0; i < imgs.length; i++) {        imgs[i].onclick = function () {            current = i            imgMove()            autoLi()        }        imgs[i].onmouseover = function () {            clearInterval(timer)        }        imgs[i].onmouseout = function () {            autoPlay()        }    }}// 点击左右按钮function btnClick() {    for (let i = 0; i < btns.length; i++) {        btns[i].onclick = function () {            // 防止狂点击            if (!flag) {                return            }            flag = false            if (i == 0) {                // 上一张                if (current <= 0) {                    current = len - 1                } else {                    current--                }            } else {                //下一张                if (current >= len - 1) {                    current = 0                } else {                    current++                }            }            setTimeout(function () {                flag = true            }, 1000)             imgMove()            autoLi()         }        btns[i].onmouseenter = function () {            clearInterval(timer)        }        btns[i].onmouseout = function () {            autoPlay()        }    }}// 点function getDot() {    for (var i = 0; i < len; i++) {        ul.innerHTML += `<li></li>`    }    lis[0].classList.add("current")}function showDot() {    for (let i = 0; i < len; i++) {        lis[i].onclick = function () {            for (var j = 0; j < len; j++) {                lis[j].classList.remove("current")            }            this.classList.add("current")            current = i            imgMove()        }    }}function autoLi() {    for (var i = 0; i < len; i++) {        if (i == current) {            lis[i].classList.add("current")        } else {            lis[i].classList.remove("current")        }    }}

到此,相信大家对“怎么用js实现3D轮播图效果”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么用js实现3D轮播图效果

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js实现3D轮播图效果
    本文实例为大家分享了js实现3D轮播图效果的具体代码,供大家参考,具体内容如下 主要有平移和旋转构成3d效果的轮播图,小白一只,不足之处还请大家多多指教,代码如下 css代码: ...
    99+
    2024-04-02
  • 怎么用js实现3D轮播图效果
    本篇内容主要讲解“怎么用js实现3D轮播图效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用js实现3D轮播图效果”吧!具体内容如下:主要有平移和旋转构成3d效果的轮播图,小白一只,不足之...
    99+
    2023-06-25
  • 用js实现轮播图效果
    今天来说一下利用js实现轮播图效果,供大家参考,具体内容如下 思路 1.首先我们要把需要用到的元素获取过来 <div class="all" id='box'> ...
    99+
    2024-04-02
  • 纯js实现轮播图效果
    本文实例为大家分享了js实现轮播图效果的具体代码,供大家参考,具体内容如下 结合我们前面学过的:鼠标监听事件(移入移出、点击),创建节点,排他思想、定时器等,就可以实现一个能手动和自...
    99+
    2024-04-02
  • 怎么使用js实现图片轮播效果
    这篇文章主要介绍怎么使用js实现图片轮播效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!只有img标签的html代码,做测试用:<body>  <img...
    99+
    2024-04-02
  • JS中Swiper怎么实现轮播图效果
    这篇文章给大家分享的是有关JS中Swiper怎么实现轮播图效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Swiper是移动端的一款非常强大的触摸滑动插件,下面代码只展示一些常...
    99+
    2024-04-02
  • js实现简单轮播图效果
    本文实例为大家分享了js实现简单轮播图效果的具体代码,供大家参考,具体内容如下 使用transform = translateX()实现的图片切换 <style> ...
    99+
    2024-04-02
  • js+css实现卡片轮播图效果
    本文实例为大家分享了js+css实现卡片轮播图效果的具体代码,供大家参考,具体内容如下 实现点击的时候切换卡片,自动轮播,鼠标移入暂停,移出继续轮播,有动画事件效果就是这样 下面是...
    99+
    2024-04-02
  • JS实现简单图片轮播效果
    本文实例为大家分享了JS实现简单图片轮播效果的具体代码,供大家参考,具体内容如下 实现效果 左右按钮可点击左右移动显示图片进行无缝滚动 下面的小圆圈点击可跳到对应...
    99+
    2024-04-02
  • js实现图片轮播切换效果
    最近在b站上学习的时候,学到了一个用原生js实现图片轮播切换效果的实战,码下来收藏 上图是这个小实战的效果图,整个小实战所实现的功能是图片自动轮播切换、点击上下键图片切换上下图片、...
    99+
    2024-04-02
  • 纯js如何实现轮播图效果
    这篇文章主要介绍纯js如何实现轮播图效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图代码 css * {    margin: 0;&nb...
    99+
    2023-06-25
  • JS实现轮播图效果的脚本怎么写
    这篇文章主要介绍“JS实现轮播图效果的脚本怎么写”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS实现轮播图效果的脚本怎么写”文章能帮助大家解决问题。以下是具体的代码:<!DOCTYPE&nb...
    99+
    2023-06-27
  • js怎么实现无限循环轮播图效果
    小编给大家分享一下js怎么实现无限循环轮播图效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!知识要点1.实现无限循环的原理:以...
    99+
    2024-04-02
  • 怎么实现js焦点轮播效果
    这篇文章将为大家详细讲解有关怎么实现js焦点轮播效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果如图:实现代码:<!DOCTYPE html>...
    99+
    2024-04-02
  • css怎么实现轮播图效果
    这篇文章主要介绍css怎么实现轮播图效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在css中,可以使用“@keyframes”规则和“animation”属性定义动画来实现轮播图切换效果。动画是使元素从一种样式逐...
    99+
    2023-06-14
  • 原生js实现简单轮播图效果
    本文实例为大家分享了js实现简单轮播图效果的具体代码,供大家参考,具体内容如下 效果如下: 分析: 分析效果: 分析实现: 1、通过 document.querySelecto...
    99+
    2024-04-02
  • 怎么用原生JS实现简单的轮播图效果
    本篇内容主要讲解“怎么用原生JS实现简单的轮播图效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用原生JS实现简单的轮播图效果”吧!实现效果:功能需求:鼠标经过轮播图模块,左右按钮显示,离...
    99+
    2023-07-02
  • js制作轮播图效果
    轮播图在前端开发中我认为是一个比较重要的点,因为包含了很多原生js知识点,以下是我学习制作轮播图的过程 难点: 1、如何让底下圆圈和图片所对应自动动态生成 2、如何让底下圆圈和图片所...
    99+
    2024-04-02
  • 用JavaScript实现轮播图效果
    本文实例为大家分享了JavaScript实现轮播图效果的具体代码,供大家参考,具体内容如下 实现代码: <!DOCTYPE html> <html lang=...
    99+
    2024-04-02
  • js编写轮播图效果
    本文实例为大家分享了js实现轮播图效果的具体代码,供大家参考,具体内容如下 1、html部分 <div id="box"> <ul> ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作