本篇文章给大家详细介绍一下使用纯CSS、JS实现图片轮播效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <!--轮播--> <style> .carousel { width: 648px; height: 400px; margin: 0 auto; text-align: center; position: absolute; left: 24%; /*border: 1px solid red;*/ } .inner { /*border: 12px solid blue;*/ width: 648px; height: 400px; position: absolute; } .inner-img { width: 200px; height: 500px; display: none; /*position: absolute;*/ position: relative; /*top:0;*/ /*left:0;*/ /*z-index:1000;*/ } .inner-img.active { display: block; } .leftBtn, .rightBtn { position: absolute; width: 40px; height: 60px; background: rgba(0, 0, 0, 0.3); /*近乎透明色*/ font-size: 30px; color: #fff; text-align: center; line-height: 60px; cursor: pointer; display: none; } .leftBtn { left: 5px; top: 170px; } .rightBtn { /*right:5px;*/ left: 603px; top: 170px; } .carousel ul { position: absolute; /*left:20px;*/ padding-left: 228px; bottom: 10px; /*z-index: 999;*/ list-style: none; width: 200px; height: 20px; } .carousel ul .page { float: left; width: 18px; height: 18px; line-height: 18px; border-radius: 18px; /*变成圆形*/ background: black; margin-right: 6px; /*距离6个px单位*/ color: #fff; font-size: 14px; /*text-align: center;*/ cursor: pointer; } .carousel ul .page.active { background-color: red; } .carousel p { /*float: left;*/ margin-top: -360px; margin-right: -600%; color: black; text-decoration: none; list-style: none; } </style> </head> <body> <!--轮播--> <p class="carousel"> <p class="inner"> <a href="#" class="inner-img active"><img src="/static/imghwm/default1.png" data-src="https://s2.ax1x.com/2019/11/06/MCxe0O.jpg" class="lazy" alt="图片加载中" style="max-width:90%" style="max-width:90%"></a> <a href="#" class="inner-img"><img src="/static/imghwm/default1.png" data-src="https://s2.ax1x.com/2019/11/06/MCxl9A.jpg" class="lazy" alt="图片加载中" style="max-width:90%" style="max-width:90%"></a> <a href="#" class="inner-img"><img src="/static/imghwm/default1.png" data-src="https://s2.ax1x.com/2019/11/06/MCxJnf.jpg" class="lazy" alt="图片加载中" style="max-width:90%" style="max-width:90%"></a> <a href="#" class="inner-img"><img src="/static/imghwm/default1.png" data-src="https://s2.ax1x.com/2019/11/06/MCxtHS.jpg" class="lazy" alt="图片加载中" style="max-width:90%" style="max-width:90%"></a> <a href="#" class="inner-img"><img src="/static/imghwm/default1.png" data-src="https://s2.ax1x.com/2019/11/06/MCxaNQ.jpg" class="lazy" alt="图片加载中" style="max-width:90%" style="max-width:90%"></a> <a href="#" class="inner-img"><img src="/static/imghwm/default1.png" data-src="https://s2.ax1x.com/2019/11/06/MCx6BT.jpg" class="lazy" alt="图片加载中" style="max-width:90%" style="max-width:90%"></a> <a href="#" class="inner-img"><img src="/static/imghwm/default1.png" data-src="https://s2.ax1x.com/2019/11/06/MCxW4J.jpg" class="lazy" alt="图片加载中" style="max-width:90%" style="max-width:90%"></a> <a href="#" class="inner-img"><img src="/static/imghwm/default1.png" data-src="https://s2.ax1x.com/2019/11/06/MCx43R.jpg" class="lazy" alt="图片加载中" style="max-width:90%" style="max-width:90%"></a> <p class="leftBtn"><</p> <!--左按钮--> <p class="rightBtn">></p> <!--右按钮--> </p> <ul> <li class="page active">1</li> <li class="page">2</li> <li class="page">3</li> <li class="page">4</li> <li class="page">5</li> <li class="page">6</li> <li class="page">7</li> <li class="page">8</li> </ul> </p> </body> <script> var carousel = document.getElementsByClassName('carousel')[0], //获取carousel的class类 // 获取所有包含图片的链接 innerImg = document.getElementsByClassName('inner-img'), // 获取左右按钮 btnL = document.getElementsByClassName('leftBtn')[0], btnR = document.getElementsByClassName('rightBtn')[0], // 获取分页器 page = document.getElementsByClassName('page'), num = 0; // 声明变量 初始图片为第一张0 // 声明时间控制函数 var timer = setInterval(moveR, 2500); //调用moveR 时间间隔2.5s // 图片向右轮播 function moveR() { num++; // 变量每3000毫秒递增一次,图片向右轮播 // 如果是最后一张图片的时候从0开始显示 if(num == innerImg.length) { num = 0; } move(); }; // 图片向左轮播 function moveL() { num--; // 每调用一次moveL(),变量递减一次 // 如果是第一张图片,则从最后一张图片开始显示 if(num == -1) { num = innerImg.length - 1; }; move(); } // 图片切换 function move() { // 把所有的innerImg隐藏和page背景全部变成黑色 for(var i = 0; i < innerImg.length; i++) { innerImg[i].style.display = 'none'; page[i].style.background = 'black'; } // 把当前num下标的innerImg显示和page背景变成red innerImg[num].style.display = 'block'; page[num].style.background = 'red'; } // 分页器鼠标滑过时图片切换 for(var i = 0; i < page.length; i++) { // 用来保存下标,page[i].index == 0 / 1 / 2 / 3 /4... page[i].index = i; // console.log(page[i].index); // 因为已经保存好的下边,这里的page[i], page[0], page[1], page[2], page[3] page[i].onmouseover = function() { for(var j = 0; j < page.length; j++) { page[j].style.background = 'black'; innerImg[j].style.display = 'none'; } this.style.background = 'red'; // console.log(this.index);可以查看是多少 innerImg[this.index].style.display = 'block'; num = this.index; } } btnL.onclick = function() { moveL(); } btnR.onclick = function() { moveR(); } // 鼠标划上carousel时让左右按钮显示 并清除时间函数 carousel.onmouseover = function() { // 清除时间函数 clearInterval(timer); //暂停 图片不继续循环 btnR.style.display = 'block'; btnL.style.display = 'block'; } // 鼠标离开carousel时让左右按钮隐藏 carousel.onmouseout = function() { // 开启时间函数 timer = setInterval(moveR, 2500); btnR.style.display = 'none'; btnL.style.display = 'none'; } </script></html>
推荐学习:css视频教程
以上是如何使用純CSS、JS實現圖片輪播效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver Mac版
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。