如何使用純CSS、JS實現圖片輪播效果
本篇文章给大家详细介绍一下使用纯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="https://s2.ax1x.com/2019/11/06/MCxe0O.jpg" alt="图片加载中" width="648" height="400"></a> <a href="#" class="inner-img"><img src="https://s2.ax1x.com/2019/11/06/MCxl9A.jpg" alt="图片加载中" width="648" height="400"></a> <a href="#" class="inner-img"><img src="https://s2.ax1x.com/2019/11/06/MCxJnf.jpg" alt="图片加载中" width="648" height="400"></a> <a href="#" class="inner-img"><img src="https://s2.ax1x.com/2019/11/06/MCxtHS.jpg" alt="图片加载中" width="648" height="400"></a> <a href="#" class="inner-img"><img src="https://s2.ax1x.com/2019/11/06/MCxaNQ.jpg" alt="图片加载中" width="648" height="400"></a> <a href="#" class="inner-img"><img src="https://s2.ax1x.com/2019/11/06/MCx6BT.jpg" alt="图片加载中" width="648" height="400"></a> <a href="#" class="inner-img"><img src="https://s2.ax1x.com/2019/11/06/MCxW4J.jpg" alt="图片加载中" width="648" height="400"></a> <a href="#" class="inner-img"><img src="https://s2.ax1x.com/2019/11/06/MCx43R.jpg" alt="图片加载中" width="648" height="400"></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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-
