基于JavaScript实现轮播图效果
更新时间:2021年1月2日 21:51 点击:2414
本文实例为大家分享了JavaScript实现轮播图效果的具体代码,供大家参考,具体内容如下
学习笔记(学校的课设),实现了左右切换,按指示点切换、按小图标切换和自动切换,但是还有某些功能没完善,如:切换到某张图片后,左右并没有切换到前后相应的图片。
先看实现效果:
代码仅供参考:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .div0{ height: 100px; width: 100%; background-color:black; opacity:0.75; } .div1{ background-image: url(img/bg2.png); height: 400px; width: 100%; } .div2{ height: 200px; width: 100%; background-color:black; opacity:0.75; position: absolute; } .spot{ position: absolute; left: 10%; } .spot_list1{ float: left; border:3px solid wheat; transform:rotate(-30deg); -ms-transform:rotate(-30deg); -moz-transform:rotate(-30deg); -webkit-transform:rotate(-30deg); -o-transform:rotate(-30deg); opacity:0.5; } .spot_list2{ float: left; border:3px solid wheat; transform:rotate(-15deg); -ms-transform:rotate(-15deg); -moz-transform:rotate(-15deg); -webkit-transform:rotate(-15deg); -o-transform:rotate(-15deg); opacity:0.5; } .spot_list3{ float: left; border:3px solid wheat; transform:rotate(28deg); -ms-transform:rotate(28deg); -moz-transform:rotate(28deg); -webkit-transform:rotate(28deg); -o-transform:rotate(28deg); opacity:0.5; } .div1_1{ border: 10px solid gainsboro; width: 830px; height: 300px; left: 10%; top: 10%; position: relative; overflow: hidden; } .btn { width: 100%; height: 80px; position: absolute; margin: 0 auto; top: 120px; } .box_big { position: absolute; height: 400px; vertical-align: middle } #imgList{ list-style: none; position: absolute; } #imgList li{ float: left; margin: 0 10px; } .left_btn, .right_btn { width: 30px; height: 80px; background:gray; line-height: 90px; border-radius: 10px; } .left_btn { float: left; } .right_btn { float: right; } #navDiv{ position: absolute; left: 300px; } #navDiv a{ float: left; width: 15px; height: 15px; border-radius:50%; background-color: black; margin: 0 10px; opacity: 0.5; filter: alpha(opacity=50); } #navDiv a:hover{ background-color: red; } </style> </head> <body> <div class="div0"></div> <div class="div1"> <div class="div1_1"> <div id="navDiv"> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ></a> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ></a> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ></a> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ></a> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ></a> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ></a> </div> <div class="box_big"> <ul id="imgList"> <li><img src="img/1.jpg" id="1" ></li> <li><img src="img/2.jpg" id="2></li> <li><img src="img/3.jpg" id="3"/></li> <li><img src="img/4.jpg" id="4"/></li> <li><img src="img/5.jpg" id="5"/></li> <li><img src="img/6.jpg" id="6"/></li> </ul> </div> <div class="btn"> <div class="left_btn"><img src="img/prev.png"></div> <div class="right_btn"><img src="img/next.png"></div> </div> </div> </div> <!--小标图片--> <div class="div2" onmouseleave="m1()"> <div class="spot"> <img src="img/thumbs/1.jpg" class="spot_list1" id="spot_list1" onmouseover="mouseover(1)" onmouseout="mouseout(1)"> <img src="img/thumbs/2.jpg" class="spot_list2" id="spot_list2" onmouseover="mouseover(2)" onmouseout="mouseout(2)"> <img src="img/thumbs/3.jpg" class="spot_list3" id="spot_list3" onmouseover="mouseover(3)" onmouseout="mouseout(3)"> <img src="img/thumbs/4.jpg" class="spot_list1" id="spot_list4" onmouseover="mouseover(4)" onmouseout="mouseout(4)"> <img src="img/thumbs/5.jpg" class="spot_list2" id="spot_list5" onmouseover="mouseover(5)" onmouseout="mouseout(5)"> <img src="img/thumbs/6.jpg" class="spot_list3" id="spot_list6" onmouseover="mouseover(6)" onmouseout="mouseout(6)"> </div> </div> </body> <script> var box=document.getElementById("1"); //var spot = document.getElementsByClassName("spot_list"); var left_btn=document.getElementsByClassName("left_btn")[0]; var right_btn=document.getElementsByClassName("right_btn")[0]; var time = null; var count = 0; var ids=document.getElementsByTagName("a"); ids[0].style.backgroundColor="red"; var spot_list1=document.getElementById("spot_list1"); spot_list1.setAttribute("class","spot_list3"); spot_list1.style.opacity="0.98"; //左按钮 left_btn.onclick=function(){ count--; if(count<1){ count=6 } box.src="img/" + count + ".jpg"; for(var i=0;i<ids.length;i++){ ids[i].style.backgroundColor="black"; } ids[count - 1].style.backgroundColor="red"; for(var i=1;i<=6;i++){ var img=document.getElementById("spot_list"+i); if(img.id=="spot_list1" || img.id=="spot_list4"){ img.setAttribute("class","spot_list1"); img.style.opacity="0.5"; }else if(img.id=="spot_list2" || img.id=="spot_list5"){ img.setAttribute("class","spot_list2"); img.style.opacity="0.5"; }else if(img.id=="spot_list3" || img.id=="spot_list6"){ img.setAttribute("class","spot_list3"); img.style.opacity="0.5"; } } var img=document.getElementById("spot_list"+count); if(img.id=="spot_list1" || img.id=="spot_list4"){ img.setAttribute("class","spot_list3"); img.style.opacity="0.98"; }else if(img.id=="spot_list2" || img.id=="spot_list5"){ img.setAttribute("class","spot_list3"); img.style.opacity="0.98"; }else if(img.id=="spot_list3" || img.id=="spot_list6"){ img.setAttribute("class","spot_list1"); img.style.opacity="0.98"; } } //右按钮 right_btn.onclick=function(){ changeImg(); } // var x=1; var changeImg = function(){ x++; if(x > 6){ x = 1; } box.src = "img/" + x + ".jpg"; for(var i=0;i<ids.length;i++){ ids[i].style.backgroundColor="black"; } ids[x - 1].style.backgroundColor="red"; for(var i=1;i<=6;i++){ var img=document.getElementById("spot_list"+i); if(img.id=="spot_list1" || img.id=="spot_list4"){ img.setAttribute("class","spot_list1"); img.style.opacity="0.5"; }else if(img.id=="spot_list2" || img.id=="spot_list5"){ img.setAttribute("class","spot_list2"); img.style.opacity="0.5"; }else if(img.id=="spot_list3" || img.id=="spot_list6"){ img.setAttribute("class","spot_list3"); img.style.opacity="0.5"; } } var img=document.getElementById("spot_list"+x); if(img.id=="spot_list1" || img.id=="spot_list4"){ img.setAttribute("class","spot_list3"); img.style.opacity="0.98"; }else if(img.id=="spot_list2" || img.id=="spot_list5"){ img.setAttribute("class","spot_list3"); img.style.opacity="0.98"; }else if(img.id=="spot_list3" || img.id=="spot_list6"){ img.setAttribute("class","spot_list1"); img.style.opacity="0.98"; } } //设置计时器 var show; show=setInterval(changeImg, 3000); //图片切换 function mouseover(n){ clearInterval(show); var img=document.getElementById("spot_list"+n); if(img.id=="spot_list1" || img.id=="spot_list4"){ img.setAttribute("class","spot_list3"); img.style.opacity="0.98"; }else if(img.id=="spot_list2" || img.id=="spot_list5"){ img.setAttribute("class","spot_list3"); img.style.opacity="0.98"; }else if(img.id=="spot_list3" || img.id=="spot_list6"){ img.setAttribute("class","spot_list1"); img.style.opacity="0.98"; } box.src="img/"+n+".jpg"; for(var i=0;i<ids.length;i++){ ids[i].style.backgroundColor="black"; } ids[n-1].style.backgroundColor="red"; } for(let i=0;i<ids.length;i++){ ids[i].onclick=function(){ clearInterval(show); for(var n=0;n<ids.length;n++){ ids[n].style.backgroundColor="black"; } box.src="img/"+(i+1)+".jpg"; ids[i].style.backgroundColor="red"; } } //离开小图标时 function mouseout(n){ var img=document.getElementById("spot_list"+n); ids[n-1].style.backgroundColor="black"; if(img.id=="spot_list1" || img.id=="spot_list4"){ img.setAttribute("class","spot_list1"); img.style.opacity="0.5"; }else if(img.id=="spot_list2" || img.id=="spot_list5"){ img.setAttribute("class","spot_list2"); img.style.opacity="0.5"; }else if(img.id=="spot_list3" || img.id=="spot_list6"){ img.setAttribute("class","spot_list3"); img.style.opacity="0.5"; } } function m1(){ //启动计时器 show=setInterval(changeImg, 3000); } </script> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。
上一篇: vue 动态创建组件的两种方法
下一篇: 使用jquery实现轮播图效果
相关文章
- 本篇文章主要分享了通过window.navigator来判断浏览器及其版本信息的实例代码。具有一定的参考价值,下面跟着小编一起来看下吧...2017-01-23
- 这篇文章主要介绍了js如何实现浏览器打印功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-15
- 这篇文章主要给大家介绍了关于Nest.js参数校验和自定义返回数据格式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-28
- 下面小编就为大家带来一篇利用JS实现点击按钮后图片自动切换的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-10-25
- 作为前端,一直以来都知道HTTP劫持与XSS跨站脚本、CSRF跨站请求伪造。防御这些劫持最好的方法是从后端入手,前端能做的太少。而且由于源码的暴露,攻击者很容易绕过防御手段。但这不代表我们去了解这块的相关知识是没意义的,本文的许多方法,用在其他方面也是大有作用。...2021-05-24
- 这篇文章主要介绍了js实现调用网络摄像头及常见错误处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-07
- 这篇文章主要为大家详细介绍了JS实现随机生成验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-06
- 这篇文章主要介绍了js组件SlotMachine实现图片切换效果制作抽奖系统的相关资料,需要的朋友可以参考下...2016-04-19
- Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.这篇文章主要介绍了vue.js 表格分页ajax 异步加载数据的相关资料,需要的朋友可以参考下...2016-10-20
- 这篇文章主要为大家详细介绍了js实现列表按字母排序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-11
- 这篇文章主要介绍了基于JavaScript实现文字超出部分隐藏 的相关资料,需要的朋友可以参考下...2016-03-01
- 这篇文章主要为大家详细介绍了js实现上传图片及时预览的相关资料,具有一定的参考价值,感兴趣的朋友可以参考一下...2016-05-09
- 这篇文章主要介绍了JS实现响应鼠标点击动画渐变弹出层效果代码,具有非常自然流畅的动画过度效果,涉及JavaScript针对鼠标事件的响应及页面元素样式的动态操作相关技巧,需要的朋友可以参考下...2016-03-28
- 本文给大家介绍的是nodejs实现使用阿里大鱼短信API发送消息的方法和代码,有需要的小伙伴可以参考下。...2016-01-20
- 系统的学习了一下angularjs,发现angularjs的有些思想根php的模块smarty很像,例如数据绑定,filter。如果对smarty比较熟悉的话,学习angularjs会比较容易一点,这篇文章给大家介绍angularjs filter用法详解,感兴趣的朋友一起学习吧...2015-12-29
- 这次文章要给大家介绍的是node.JS md5加密中文与php结果不一致怎么办,不知道具体解决办法的下面跟小编一起来看看。 因项目需要,需要Node.js与PHP做接口调用,发现nod...2017-07-06
- 这篇文章主要为大家详细介绍了js+css实现回到顶部按钮back to top回到顶部按钮,感兴趣的小伙伴们可以参考一下...2016-03-03
- 那么今天我就用JavaScript代码来实现这个效果吧,那么首先介绍一下整个的思路,首先我们先将确定输入密码的位数,我的需求是5位,那么就用一个div标签包住5个input标签...2016-01-02
- 为了网站的安全性,很多朋友都把密码设的比较复杂,但是如何密码不能明显示,不知道输的是对是错,为了安全起见可以把密码显示的,那么基于js代码如何实现的呢?下面通过本文给大家介绍JavaScript实现表单密码的隐藏和显示,需要的朋友参考下...2016-03-03
- 这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13