本文实例介绍了js实现图片轮播相册,具有过渡渐变效果,分享给大家供大家参考,具体内容如下
思路很简单,用2个属性保存当前图片和上一张图片,用2个定时器分别控制透明度和当前过渡的图片。
<HTML> <HEAD> <TITLE></TITLE> </HEAD> <style> #cnt{width:100%;height:80%;} .ctrl{text-align:center;border:1px solid gray;font-size:12px;cursor:pointer;} </style> <script defer='defer'> <!-- var curOpac = 0; var filterTimer; var isIE = /internet explorer/i.test(window.navigator.appName); function MyScroll(cnt, control){ this.data = []; // 存放图片路径 this.interval = 3000; // 过渡一次的间隔时间(过渡时间+图片显示时间) this.timer; // 定时器:控制当前显示的图片 this.container = cnt; this.curFrame = 0; this.oldFrame = 0; this.controls = control; // 按钮集合 Global = this; // 获取对象的指针 this.run = function(){ this.timer = window.setInterval("Global.showFrame()", this.interval); } // 按钮的处理程序 this.go = function(i){ curOpac = 0; // 透明度归0 this.curFrame = i; // 当前要过渡的图片 this.stop(); // 清空计时器 this.showFrame(); // 当前图片过渡 this.run(); // 循环播放 } this.stop = function(){ window.clearInterval(this.timer); window.clearInterval(filterTimer); } this.showFrame = function(){ // 设置当前按钮样式 this.controls[this.oldFrame].style.backgroundColor = "white"; this.controls[this.curFrame].style.backgroundColor = "gray"; if(isIE) this.container.style.filter = "alpha(opacity=0)"; else this.container.style.cssText = "-moz-opacity:0"; this.container.innerHTML = this.data[this.curFrame]; filterTimer = window.setInterval("blend()", 100); this.oldFrame = this.curFrame; this.curFrame ++; if(this.curFrame == this.data.length){ this.curFrame = 0; } } } // 增加透明度 function blend(){ curOpac+=10; if(isIE) Global.container.style.filter='alpha(opacity=' + curOpac + ')'; else Global.container.style.cssText = "-moz-opacity:" + curOpac/100.0; if(curOpac == 100){ curOpac = 0; window.clearInterval(filterTimer); } } //开始 function startIt(){ var imgArr = []; // 创建4个图片对象保存图片路径 for(var i=0;i<4;i++){ imgArr[i] = new Image(); imgArr[i].src = "images/banner" + (i + 1) + ".jpg"; } var controlArr = $("mainTb").getElementsByTagName("span"); for(var i=0;i<controlArr.length;i++){ controlArr[i].tag = i; controlArr[i].onclick = function(){ myScroll.go(this.tag); } } var myScroll = new MyScroll($("cnt"), controlArr); myScroll.data.push("<img src='" + imgArr[0].src + "' alt="js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)_javascript技巧" >"); myScroll.data.push("<img src='" + imgArr[1].src + "' alt="js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)_javascript技巧" >"); myScroll.data.push("<img src='" + imgArr[2].src + "' alt="js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)_javascript技巧" >"); myScroll.data.push("<img src='" + imgArr[3].src + "' alt="js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)_javascript技巧" >"); myScroll.go(0); } window.onload = startIt; function $(id){ return document.getElementById(id);} //--> </script> <BODY> <table width="300" height="100" id="mainTb"> <tr> <th rowspan="4"><div id="cnt"> </div></td> <td width="15"><span class="ctrl"> 1 </span></td> </tr> <tr> <td><span class="ctrl"> 2 </span></td> </tr> <tr> <td><span class="ctrl"> 3 </span></td> </tr> <tr> <td><span class="ctrl"> 4 </span></td> </tr> </table> </BODY> </HTML>
以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

JavaScript核心数据类型在浏览器和Node.js中一致,但处理方式和额外类型有所不同。1)全局对象在浏览器中为window,在Node.js中为global。2)Node.js独有Buffer对象,用于处理二进制数据。3)性能和时间处理在两者间也有差异,需根据环境调整代码。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver CS6
视觉化网页开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

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