原生JS实现层叠轮播图
发布时间 - 2026-01-11 01:08:16 点击率:次又是轮播?没错,换个样式玩轮播。
HTML:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>wtf</title> </head> <body> <div class="container"> <div class="box"> <img class="front" src="img/A.jpg" alt="PIC"> <img class="back" src="img/B.jpg" alt="PIC"> <img class="active" src="img/C.jpg" alt="PIC"> <div class="btns"> <span class="btn"><</span> <span class="btn">></span> </div> </div> </div> </body> </html>
CSS:
<style>
.box {width: 1200px; height: 300px; transform-style: perserve-3d; margin: 50px auto; position: relative;}
.box img{width:600px; position: absolute; top: 60px; transition:all .3s linear;}
.box:hover .btn{opacity: 1;}
.front {left: 0px;}
.back {left: 600px;}
.active {left: 300px; transform: scale(1.5); z-index: 10;}
.btns .btn {width: 60px; height: 60px; display: block; position: absolute; background-color: rgba(0,0,0,.5); font-size: 50px; font-family: "微软雅黑"; color:rgba(255,255,255,.5); line-height: 55px; text-align: center; cursor: pointer; z-index: 100; opacity: 0; transition:opacity .3s linear;}
.btns .btn:first-child {top: 125px;}
.btns .btn:last-child {top: 125px; right: 0px;}
</style>
JS:
<script>
onload = function(){
var btns = document.getElementsByClassName('btn'),
imgs = document.getElementsByClassName('box')[0].getElementsByTagName('img');
var index = 2,
front = 0,
back = 0,
offset = false,
timer = setInterval(timer,5000);
for(var i=0;i<btns.length;i++){
(function(i){
btns[i].onclick = function(){click(i)};
})(i);
btns[i].onmouseover = function(){
offset = true;
}
btns[i].onmouseout = function(){
offset = false;
}
}
for(var i=0;i<imgs.length;i++){
imgs[i].onmouseover = function(){
offset = true;
}
imgs[i].onmouseout = function(){
offset = false;
}
}
function timer(){
console.log(offset)
if(offset){
return;
}
else{
click(1)
}
}
function click(x){
imgs[index].setAttribute('class','');
if(x === 0){
if(--index < 0){
index = --imgs.length;
}
front = back = index;
if(++front > --imgs.length){front = 0}
if(--back < 0){back = --imgs.length}
imgs[front].style.zIndex = '1';
imgs[back].style.zIndex = '0';
}
else{
if(++index > --imgs.length){
index = 0;
}
front = back = index;
if(++front > --imgs.length){front = 0}
if(--back < 0){back = --imgs.length}
imgs[front].style.zIndex = '0';
imgs[back].style.zIndex = '1';
}
imgs[index].style.zIndex = '10';
imgs[front].setAttribute('class','front')
imgs[back].setAttribute('class','back')
imgs[index].setAttribute('class','active');
}
}
</script>
精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 轮播图
# 原生js实现轮播图的示例代码
# 原生js实现无限循环轮播图效果
# 原生js实现移动开发轮播图、相册滑动特效
# 原生js实现无缝轮播图效果
# 原生js实现旋转木马轮播图效果
# 原生JS轮播图插件
# 原生JS京东轮播图代码
# 原生js实现网易轮播图效果
# 原生js实现焦点轮播图效果
# 无限循环轮播图之运动框架(原生JS实现)
# 原生JS实现的轮播图功能详解
# 又是
# 微软
# 换个
# 大家多多
# css
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
网站制作价目表怎么做,珍爱网婚介费用多少?
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
如何在Windows环境下新建FTP站点并设置权限?
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel Docker环境搭建教程_Laravel Sail使用指南
Laravel如何实现本地化和多语言支持?(i18n教程)
微信小程序制作网站有哪些,微信小程序需要做网站吗?
微信小程序 scroll-view组件实现列表页实例代码
高防服务器租用首荐平台,企业级优惠套餐快速部署
Thinkphp 中 distinct 的用法解析
jquery插件bootstrapValidator表单验证详解
大连 网站制作,大连天途有线官网?
常州企业网站制作公司,全国继续教育网怎么登录?
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
Laravel如何实现API资源集合?(Resource Collection教程)
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
JavaScript如何操作视频_媒体API怎么控制播放
详解Huffman编码算法之Java实现
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
三星网站视频制作教程下载,三星w23网页如何全屏?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
如何在服务器上三步完成建站并提升流量?
历史网站制作软件,华为如何找回被删除的网站?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
北京网站制作公司哪家好一点,北京租房网站有哪些?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何获取免费开源的自助建站系统源码?
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
如何在宝塔面板创建新站点?
如何快速搭建二级域名独立网站?
英语简历制作免费网站推荐,如何将简历翻译成英文?
教你用AI将一段旋律扩展成一首完整的曲子
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
Laravel如何实现API速率限制?(Rate Limiting教程)
php 三元运算符实例详细介绍
如何在建站之星绑定自定义域名?
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?

