学习JavaScript笔记

简介: 学习JavaScript笔记

javascript 幻灯片代码(含自动播放)


源码部分

对应的图片地址改为自己的图片地址:

HTML 代码:

<div class="slideshow-container">

 <div class="mySlides fade">

   <div class="numbertext">1 / 3</div>

   <img decoding="async" src="img1.jpg" style="width:100%">

   <div class="text">文本 1</div>

 </div>

 

 <div class="mySlides fade">

   <div class="numbertext">2 / 3</div>

   <img decoding="async" src="img2.jpg" style="width:100%">

   <div class="text">文本 2</div>

 </div>

 

 <div class="mySlides fade">

   <div class="numbertext">3 / 3</div>

   <img decoding="async" src="img3.jpg" style="width:100%">

   <div class="text">文本 3</div>

 </div>

 

 <a class="prev" onclick="plusSlides(-1)">❮</a>

 <a class="next" onclick="plusSlides(1)">❯</a>

</div>

<br>

 

<div style="text-align:center">

 <span class="dot" onclick="currentSlide(1)"></span>  

 <span class="dot" onclick="currentSlide(2)"></span>  

 <span class="dot" onclick="currentSlide(3)"></span>  

</div>

CSS 代码设置上一张下一张图片的按钮及文本。

CSS 代码:

* {box-sizing:border-box}

body {font-family: Verdana,sans-serif;}

.mySlides {display:none}

 

/* 幻灯片容器 */

.slideshow-container {

 max-width: 1000px;

 position: relative;

 margin: auto;

}

 

/* 下一张 & 上一张 按钮 */

.prev, .next {

 cursor: pointer;

 position: absolute;

 top: 50%;

 width: auto;

 margin-top: -22px;

 padding: 16px;

 color: white;

 font-weight: bold;

 font-size: 18px;

 transition: 0.6s ease;

 border-radius: 0 3px 3px 0;

}

 

/* 定位 "下一张" 按钮靠右 */

.next {

 right: 0;

 border-radius: 3px 0 0 3px;

}

 

/* On hover, add a black background color with a little bit see-through */

.prev:hover, .next:hover {

 background-color: rgba(0,0,0,0.8);

}

 

/* 标题文本 */

.text {

 color: #f2f2f2;

 font-size: 15px;

 padding: 8px 12px;

 position: absolute;

 bottom: 8px;

 width: 100%;

 text-align: center;

}

 

/* 数字文本 (1/3 等) */

.numbertext {

 color: #f2f2f2;

 font-size: 12px;

 padding: 8px 12px;

 position: absolute;

 top: 0;

}

 

/* 标记符号 */

.dot {

 cursor:pointer;

 height: 13px;

 width: 13px;

 margin: 0 2px;

 background-color: #bbb;

 border-radius: 50%;

 display: inline-block;

 transition: background-color 0.6s ease;

}

 

.active, .dot:hover {

 background-color: #717171;

}

 

/* 淡出动画 */

.fade {

 -webkit-animation-name: fade;

 -webkit-animation-duration: 1.5s;

 animation-name: fade;

 animation-duration: 1.5s;

}

 

@-webkit-keyframes fade {

 from {opacity: .4}  

 to {opacity: 1}

}

 

@keyframes fade {

 from {opacity: .4}  

 to {opacity: 1}

}

JavaScript 代码:

var slideIndex = 1;

showSlides(slideIndex);

 

function plusSlides(n) {

 showSlides(slideIndex += n);

}

 

function currentSlide(n) {

 showSlides(slideIndex = n);

}

 

function showSlides(n) {

 var i;

 var slides = document.getElementsByClassName("mySlides");

 var dots = document.getElementsByClassName("dot");

 if (n > slides.length) {slideIndex = 1}  

 if (n < 1) {slideIndex = slides.length}

 for (i = 0; i < slides.length; i++) {

     slides[i].style.display = "none";  

 }

 for (i = 0; i < dots.length; i++) {

     dots[i].className = dots[i].className.replace(" active", "");

 }

 slides[slideIndex-1].style.display = "block";  

 dots[slideIndex-1].className += " active";

}

目录
相关文章
|
30天前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
37 0
|
12天前
|
自然语言处理 JavaScript 前端开发
[JS]同事看了我做的this笔记,直摇头,坦言:我还是参考启发博文吧
本文介绍了JavaScript中`this`关键字的重要性和使用规则。作者回顾了早期笔记,总结了`this`指向的各种情况,并分享了最新的理解。文章强调了`this`在不同上下文中的指向,包括对象方法、全局函数、箭头函数等,并提供了改变`this`指向的方法。适合JavaScript开发者参考。
29 2
|
1月前
|
JavaScript
js学习--制作猜数字
js学习--制作猜数字
37 4
js学习--制作猜数字
|
1月前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
46 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
1月前
|
JavaScript
js学习--制作选项卡
js学习--制作选项卡
37 4
|
1月前
|
JavaScript
js学习--商品列表商品详情
js学习--商品列表商品详情
19 2
|
1月前
|
JavaScript
js学习--九宫格抽奖
js学习--九宫格抽奖
17 2
|
1月前
|
JavaScript
js学习--开屏弹窗
js学习--开屏弹窗
35 1
|
1月前
|
JavaScript
js学习--抽奖
js学习--抽奖
15 1
|
1月前
|
JavaScript
js学习--隔行换色
js学习--隔行换色
30 1