如何利用JS怎样制作点击切换图片的效果
Admin 2022-08-10 群英技术资讯 930 次浏览
今天这篇给大家分享的知识是“如何利用JS怎样制作点击切换图片的效果”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“如何利用JS怎样制作点击切换图片的效果”文章能帮助大家解决问题。本文实例为大家分享了JavaScript实现左右点击切换图片的具体代码,供大家参考,具体内容如下
效果:


HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>xxx——空间相册</title> <link rel="stylesheet" type="text/css" href="./css/Photo_album.css"/> </head> <body> <!-- 相册 --> <div id="imgmax"> <ul> <li><img src="./img/brtx.jpeg" ></li> <li><img src="./img/1.jpeg" ></li> <li><img src="./img/2.jpeg" ></li> <li><img src="./img/3.jpeg" ></li> <li><img src="./img/brtx.jpeg" ></li> <li><img src="./img/brtx.jpeg" ></li> </ul> </div> </body> <script src="js/Photo_album.js" type="text/javascript" charset="utf-8"></script> </html>
CSS:
/* 相册 */
#imgmax{
width: 600px;
height: 600px;
position: relative;
margin: 20px auto;
}
img{
width: 100%;
height: 100%;
}
ui,li{
margin: 0;
padding: 0;
list-style: none;
float: left;
width: 150px;
height: 150px;
margin-left: 10px;
}
.newdiv{
width: 600px;
height: 600px;
background: #fff;
opacity: 0.5;
}
.newimg{
width: 300px;
height: 300px;
position: absolute;
left: 150px;
top: 50px;
}
.newspan{
position: absolute;
width: 20px;
height: 20px;
left: 450px;
top: 50px;
background: #fff;
text-align: center;
}
.newspanzuo{
position: absolute;
width: 20px;
height: 20px;
left: 100px;
top: 150px;
background: #fff;
text-align: center;
}
.newspanyou{
position: absolute;
width: 20px;
height: 20px;
left: 480px;
top: 150px;
background: #fff;
text-align: center;
}
JavaScript:
/*
说明:根据<1i>标签、得到当前网页所有的<1i>元素返回值:返回的是数组,存储所有的<1i>元素
作用:
1.可用于监听点击事件
2.可根据当前<1i>元素得到内部存储的图片路径
3.可根据图片的路劲,做一个大图展示
*/
var lis = document.getElementsByTagName("li"); //获取li标签
/*
说明:根据id,得到imgmax元素
返回值:返回的是最大的盒子元素
作用:
可像此盒子内【追用】预览图片时所需的所有【元素】
1.追加盒子元素(用于遮盖当前所有图片)
2.追加图片元素(用于展示【预览图】)
3.追加span文字(用于展示“X”,退出预览)
*/
var box = document.getElementById("imgmax"); //获取相册盒子
var index = 0;
//循环遍历li标签
//迭代所有的【li】,用于监听【li】的点击事件
for (let i = 0; i < lis.length; i++) {
/*
当监听成功,绑定【匿名函数】,用于编写具体的逻辑
1.得到当前点击<li>元素的图片路径
2.创建:div元素,用于遮盖当前所有图片
3.创建:img元素,用于展示【预览图】
4.创建 span元素(用于展示“X”,退出预览)
*/
lis[i].onclick = function() {
//弹出当前li标签中图片路径
//alert(this.getElementsByTagName("img")[0].src)
//2.创建:div元素,用于遮盖当前所有图片
// box.appendChild()
var j = i;
var newDiv = document.createElement('div');
newDiv.className = "newdiv";
box.appendChild(newDiv)
//3.创建:img元素,用于展示【预览图】
var newImg = document.createElement("img");
newImg.className = "newimg"
newImg.src=this.getElementsByTagName("img")[0].src
box.appendChild(newImg);
//创建 span元素(用于展示“X”,退出预览)
var newSpan = document.createElement("span");
newSpan.innerHTML = "X";
newSpan.className = "newspan";
box.appendChild(newSpan);
newSpan.onclick = function(){
box.removeChild(newDiv);
box.removeChild(newImg);
box.removeChild(Spanz);
box.removeChild(Spany);
box.removeChild(newSpan);
}
// 左边
var Spanz = document.createElement("span");
Spanz.innerHTML = "<";
Spanz.className = "newspanzuo";
box.appendChild(Spanz);
Spanz.onclick = function(){
if (j-->=0) {
newImg.src=document.getElementsByTagName("img")[j].src
} else{
alert("已经是第一张了!!")
}
}
// 右边
var Spany = document.createElement("span");
Spany.innerHTML = ">";
Spany.className = "newspanyou";
box.appendChild(Spany);
Spany.onclick = function(){
if (j++<lis.length-1) {
newImg.src=document.getElementsByTagName("img")[j].src
} else{
alert("已经是第最后一张了!!")
}
}
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
怎样用js实现循环轮播图?对于轮播图的应用场景有很多,但是一些新手可能对于循环轮播图的实现不是很了解,对此这篇文章就给大家分享怎样用js写一个循环轮播图的代码,感兴趣的朋友可以参考。
利用node怎么实现文件上传?下面本篇文章就来给大家介绍一下node结合multiparty实现文件上传的方法,希望对大家有所帮助!
这篇文章主要介绍了js 标签语法使用,在 JavaScript 中提供了标签语句,用于标记指定的代码块,便于跳转到指定的位置。本文来记录一下标签语句的使用方法,需要的朋友可以参考一下
本文给大家分享vue的两个属性,分别是vue的计算属性和vue的侦听属性,那么究竟vue的计算属性和侦听属性有什么用呢?如何运用?接下来我们一起了解看看。
在开发后台管理系统的时候,很多地方都要用到导出excel 表格,比如将table中的数据导出到本地,这篇文章主要给大家介绍了关于Vue导出Excel功能的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008