js轮播图透明度切换(带上下页和底部圆点切换)

发布时间 - 2026-01-11 00:51:51    点击率:

效果图:

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
 *{
 margin:0;
 padding:0;
 border:none;
 }
 li{
 list-style: none;
 }
 #box{
 height:340px;
 width:790px;
 position: relative;
 margin:100px auto;

 }
 #box #list1{
 height:340px;
 width:790px;

 }
 #box #list1 li{
 font-size: 80px;
 line-height: 340px;
 text-align: center;
 height:340px;
 width:790px;
 position: absolute;
 left:0;
 top:0;
 opacity: 0;
 filter: alpha(opacity=0);
 }
 #box #list1 li img{
 height:340px;
 width:790px;
 }
 #shang,#xia{
 height:80px;
 width:50px;
 color:#212121;
 background: #ccc;
 font-size: 60px;
 font-weight: bold;
 line-height: 80px;
 text-align: center;
 position: absolute;
 top:130px;
 opacity: 0.8;
 filter: alpha(opacity=80);
 cursor: pointer;

 }
 #shang{
 left:0;
 }
 #xia{
 right:0;
 }
 #box #list2{
 height:20px;
 width:195px;
 position: absolute;
 left:297px;
 bottom:25px;
 opacity: 0.8;
 filter: alpha(opacity=80);

 }
 #box #list2 li{
 height:20px;
 width:20px;
 background: #ccc;
 border-radius: 50%;
 float: left;
 margin-right:5px;
 cursor: pointer;

 }

 #box #list2 li.active{
 background: black;
 }
 </style>

 <script type="text/javascript">
 onload = function(){
 var oBox = document.getElementById('box');
 var oLIst1 = document.getElementById('list1');
 var aLi1 = oLIst1.getElementsByTagName('li');
 var oLIst2 = document.getElementById('list2');
 var aLi2 = oLIst2.getElementsByTagName('li');
 var oShang = document.getElementById('shang');
 var oXia = document.getElementById('xia');
 aLi1[0].style.opacity = 1;
 aLi1[0].style.filter = 'alpha(opacity=100)';
 var size = aLi1.length;
 var i = 0;
 var timer = setInterval(function(){
 i ++;
 move();
 },2000);
 function move(){
 if(i >= size){
 i = 0
 }
 if(i < 0){
 i = size-1;
 }
 for(var j = 0; j < aLi1.length; j ++){
 if(j == i){
 animate(aLi1[j],{opacity:100});
 aLi2[j].className = 'active';
 }else{
 animate(aLi1[j],{opacity:0});
 aLi2[j].className = '';
 }
 }

 }
 //前一张
 oShang.onclick = function(e){
 var evt = e || event;
 evt.preventDefault();
 i --;
 move();
 }
 //后一张
 oXia.onclick = function(e){
 var evt = e || event;
 evt.preventDefault();
 i ++;
 move();
 }
 //下面的圆点
 for(var k = 0;k < aLi2.length; k ++){
 aLi2[k].index = k;
 aLi2[k].onmouseenter = function(){
 i = this.index;
 move();
 }
 }
 oBox.onmouseenter = function(){
 clearInterval(timer);
 }
 oBox.onmouseleave = function(){
 timer = setInterval(function(){
 i ++;
 move();
 },2000);
 }
 /*************************缓冲运动 可封装留着以后备用^_^*************************/

 function getStyleAttr(obj, attr){
 if (window.getComputedStyle){
 return getComputedStyle(obj, null)[attr]; 
 }
 else {
 return obj.currentStyle[attr]; 
 }
 }
 function animate(obj, json, fn){
 clearInterval(obj.timer); 
 obj.timer = setInterval(function(){
 var bStop = true; 
 for (var attr in json){
 var iTarget = json[attr]; 
 var current;
 if (attr == "opacity"){ 
 current = parseFloat(getStyleAttr(obj, attr))*100;
 current = Math.round(current);
 }
 else { 
 current = parseFloat(getStyleAttr(obj, attr));
 current = Math.round(current);
 }
 var speed = (iTarget-current)/8; (400-393)/8
 speed = speed>0 ? Math.ceil(speed) : Math.floor(speed);
 if (current != iTarget){
 bStop = false; 
 }
 if (attr == "opacity"){ 
 obj.style[attr] = (current+speed)/100;
 obj.style.filter = "alpha(opacity=" + (current+speed) + ")";
 }
 else { 
 obj.style[attr] = current+speed + "px";
 }
 }
 if (bStop){
 console.log("停止运动");
 clearInterval(obj.timer); 
 if (fn) {
 fn(); 
 }
 }
 }, 30);
 }
 }
 </script>
 </head>
 <body>
 <div id="box">
 <ul id="list1">
 <li style="background: red;">1</li>
 <li style="background: yellow;">2</li>
 <li style="background: green;">3</li>
 <li style="background: blue;">4</li>
 <li style="background: blueviolet;">5</li>
 <li style="background: brown;">6</li>
 <li style="background: orangered;">7</li>
 <li style="background: palevioletred;">8</li> 
 </ul>
 <ul id="list2">
 <li class="active"></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li style="margin-right:0px;"></li>
 </ul>
 <div id="shang">
 &lt;
 </div>
 <div id="xia">
 &gt;
 </div>
 </div>
 </body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js  # 轮播图  # js实现图片轮播  # js轮播图透明度切换  # 如何使用JavaScript实现无缝滚动自动播放轮播图效果  # js实现自动播放匀速轮播图  # js实现支持手机滑动切换的轮播图片效果实例  # vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)  # JS仿京东移动端手指拨动切换轮播图效果  # javascript实现点击按钮切换轮播图功能  # 原生JS实现旋转轮播图+文字内容切换效果【附源码】  # js实现轮播图效果 纯js实现图片自动切换  # vue自定义js图片碎片轮播图切换效果的实现代码  # js实现点击切换和自动播放的轮播图  # 圆点  # img  # shang  # filter  # alpha  # color  # xia  # line  # absolute  # size  # opacity  # font  # left  # top  # background  # bottom  # float  # active  # radius  # weight 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  北京企业网站设计制作公司,北京铁路集团官方网站?  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Linux安全能力提升路径_长期防护思维说明【指导】  JavaScript常见的五种数组去重的方式  如何用腾讯建站主机快速创建免费网站?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  iOS验证手机号的正则表达式  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  如何构建满足综合性能需求的优质建站方案?  魔方云NAT建站如何实现端口转发?  微信公众帐号开发教程之图文消息全攻略  微信小程序 五星评分(包括半颗星评分)实例代码  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  Android仿QQ列表左滑删除操作  Laravel怎么上传文件_Laravel图片上传及存储配置  如何确保西部建站助手FTP传输的安全性?  奇安信“盘古石”团队突破 iOS 26.1 提权  专业商城网站制作公司有哪些,pi商城官网是哪个?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Bootstrap CSS布局之列表  Laravel如何创建自定义中间件?(Middleware代码示例)  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  如何用低价快速搭建高质量网站?  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  iOS中将个别页面强制横屏其他页面竖屏  Android中AutoCompleteTextView自动提示  Android Socket接口实现即时通讯实例代码  JavaScript Ajax实现异步通信  HTML 中动态设置元素 name 属性的正确语法详解  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  网站制作软件有哪些,制图软件有哪些?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  制作电商网页,电商供应链怎么做?  高端建站如何打造兼具美学与转化的品牌官网?  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  简历在线制作网站免费版,如何创建个人简历?  详解MySQL数据库的安装与密码配置