[Web前端技术] javascript实现图片轮播
- 格式:docx
- 大小:13.94 KB
- 文档页数:3
如何运用前端开发技术实现网页的轮播效果如何运用前端开发技术实现网页轮播效果近年来,随着互联网的普及,网页设计已成为各行业不可或缺的一部分。
在网页设计中,轮播效果是提高用户体验和页面吸引力的重要组成部分。
本文将介绍如何运用前端开发技术实现网页的轮播效果。
一、了解轮播效果的原理在实现轮播效果前,我们首先需要了解它的原理。
轮播效果实质上是通过动态切换图片或内容的展示区域,让用户可以浏览多个相关内容。
一般而言,轮播效果有以下几种主要形式:基于图片的轮播、基于内容的轮播以及基于混合内容的轮播。
在实际开发中,我们可以根据需求选择合适的轮播形式,然后运用前端开发技术来实现。
二、使用HTML和CSS构建轮播容器轮播容器是展示轮播内容的区域,我们可以使用HTML和CSS来构建。
首先,我们需要创建一个容器元素,可以是div或者ul等标签。
然后,通过CSS来设置容器的样式,包括宽度、高度、边框、背景、位置等。
此外,我们还可以通过CSS来设置容器的动画效果,如渐变、缩放等。
三、使用JavaScript控制轮播效果在实际开发中,我们通常会使用JavaScript来控制轮播效果。
首先,我们需要通过JavaScript获取轮播容器的信息,如宽度、高度、图片数量等。
然后,我们可以通过编写JavaScript代码来实现以下功能:1. 切换图片或内容:通过设置定时器,在一定的时间间隔内切换展示区域的图片或内容。
可以通过修改容器的style属性或者添加CSS类来实现切换效果。
2. 自动播放和控制:可以通过设置定时器来自动播放轮播内容,并提供播放、暂停、上一张、下一张等按钮来控制轮播过程。
3. 循环轮播:在切换到最后一张图片或内容后,可以通过设置初始位置进行循环轮播,使得用户在一直浏览相关内容。
4. 响应式布局:根据不同设备的屏幕大小,可以通过设置媒体查询和适配方案来实现响应式布局,以适应不同屏幕的显示效果。
四、优化轮播效果的性能为了提高页面加载速度和用户体验,我们可以对轮播效果进行一些性能优化。
⽤JS实现图⽚轮播效果代码(⼀)⼀.实现原理(1)将所有图⽚放在⼀个⽗容器div⾥⾯,通过display属性来设置图⽚的出现与隐藏;(2)轮播图分为⼿动轮播和⾃动轮播;⼿动轮播的重点是每次点击图⽚下⽅的⼩圆圈,获得它的索引号,并让与之对应索引号的图⽚显⽰,并且此时的⼩圆圈为⾼亮显⽰;⾃动轮播:利⽤定时器setInterval(),来每隔⼀定的时间来播放⼀次图⽚。
(3)所有的基础知识:dom操作,定时器,事件运⽤。
⼆.轮播图页⾯布局:<div id="content"> <!-- 总的⽗容器 --><div class="carousel-inner"> <!-- 包含图⽚的容器 --><div class="item "><img src="./img/lunbo1.jpg" alt="第⼀张图⽚"></div><div class="item"><img src="./img/lunbo2.jpg" alt="第⼆张图⽚"></div><div class="item"><img src="./img/lunbo3.jpg" alt="第三张图⽚"></div></div><!-- 图⽚下⽅的指⽰圆圈--><ul class="carousel-indicators"><li id='pic1'>●</li><li id='pic2'>●</li><li id='pic3'>●</li></ul><!-- 图⽚左右⽅来回滚动图⽚的左右箭头--><a href="#" class="carousel-control prev"><span><</span></a><a href="#" class="carousel-control next"><span>></span></a></div>三.轮播图的css样式:#content{width: 100%;height:500px;position: relative;}.carousel-inner{position: relative;width: 100%;overflow: hidden;height:500px;}.carousel-inner>.item>img{display: block;line-height: 1;z-index: 1;}.carousel-indicators{position: absolute;bottom:10px;left:45%;z-index: 2;list-style-type: none;}.carousel-indicators li{display:inline-block;padding: 0 15px;font-size: 24px;color:#999;cursor: pointer;z-index: 2;}.active1{font-size: 28px;color:#fff;}.carousel-control{position: absolute;text-decoration:none;color: #999;font-weight: bold;opacity: .5;font-size: 40px;z-index: 3;}.carousel-control:hover{color:fff;text-decoration: none;opacity: .9;outline: none;font-size: 42px;}.prev{top: 30%;left:20px;}.next{top:30%;right: 20px;}四.轮播图的js实现代码:window.onload = function(){//轮播初始化var lunbo = document.getElementById('content');var imgs = lunbo.getElementsByTagName('img');var uls = lunbo.getElementsByTagName('ul');var lis = lunbo.getElementsByTagName('li');//初始状态下,⼀个圆圈为⾼亮模式lis[0].style.fontSize = '26px';lis[0].style.color = '#fff';//定义⼀个全局变量,⽤来进⾏⾃动轮播图⽚顺序的变化var pic_index = 1;//⾃动轮播.使⽤pic_time记录播放,可以随时使⽤clearInterval()清除掉。
如何使用前端开发技术实现图片轮播效果前端开发技术在网页设计中起着重要的作用,使得网页更加生动和吸引人。
其中,图片轮播效果是一种常见的设计元素,可以提升用户的浏览体验。
本文将探讨如何使用前端开发技术实现图片轮播效果。
首先,我们需要明确图片轮播的基本原理。
简单来说,图片轮播就是在一定时间间隔内连续切换多张图片的展示。
为了实现这个效果,可以使用HTML、CSS和JavaScript来完成。
第一步是在HTML中创建一个容器,用来承载图片。
我们可以使用div标签,并为其添加一个唯一的ID,以便于后续的样式和操作。
接下来,在CSS中为容器设置样式。
可以使用CSS的background-image属性来设置背景图片,并设置容器的宽度和高度,以适配不同的屏幕大小。
在HTML中,我们需要使用JavaScript来实现图片轮播的功能。
首先,我们需要在JavaScript中定义一个数组,存储所有要展示的图片的URL。
可以使用变量来动态添加或删除图片URL,以便于后续的图片切换。
接着,我们需要为图片容器添加一个定时器,以便定时切换图片。
可以使用JavaScript中的setInterval函数来实现。
在每个时间间隔内,我们可以通过改变容器的背景图片URL来实现图片的切换。
可以使用JavaScript中的style属性来设置背景图片URL。
此外,我们还可以为图片添加一些过渡效果,使得切换更加平滑和自然。
可以使用CSS的transition属性来实现。
例如,可以设置图片的过渡时间和过渡效果,如淡入淡出、滑动等。
除了基本的图片切换功能外,我们还可以为图片轮播添加一些交互效果,以增加用户的参与度和体验。
例如,我们可以为图片添加点击事件,使得用户可以手动切换图片。
还可以在图片上方添加一组小圆点,表示当前显示的图片,用户可以点击小圆点来直接跳转到相应的图片。
另外,为了保证网页的加载速度和用户体验,我们可以使用懒加载技术来延迟加载图片。
基于javascript实现样式清新图⽚轮播特效本⽂实例为⼤家分享了javascript实现图⽚轮播特效,供⼤家参考,具体内容如下⼀、实现效果如上图: 1、图⽚⾃动依次轮换,每轮换到⼀张图⽚,下⾯对应的⼩图标出现红⾊边框,并显⽰对应的图⽚名称 2、⿏标放到⼤图⽚上⾯的时,图⽚停⽌轮换,⼀直显⽰当前图⽚;⿏标移开后图⽚继续轮换 3、⿏标移到⼩图标上时,⼤图⽚区域会显⽰对应的⼤图;⿏标移开则从当前图⽚开始继续轮换⼆、代码<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>带⼩图标的JS图⽚轮换</title><style type="text/css">*{margin: 0px;padding: 0px;}#content{width: 700px;height: 538px;margin: 0px auto; /*使所有内容居中*/border: solid #F0F0F0;}/*定义下⾯⼩图标处样式*/#nav1 table{width: 100%;height: 35px;margin-top: -4px;}#nav1 td{width: 35px;height: 35px;text-align: center; /*⽂字居中*/color: #ffffff;}#text{}#_text{width: 100%;height: 100%;background-color: #F0F0F0;border: none;text-align: center;font-size: 18px;color: #000000;font-weight: bold;}</style></head><body onload="changeImg()"><div id="content"><div id="images"><img id="_photoes" src="../images/textPhoto/1.jpg" height="500px" width="700px" onmouseover="over1()" onmouseout="out1()"> </div><div id="nav1"><table border="0"><tr><td id="text" bgcolor="#F0F0F0" colspan="15"><input type="text" id="_text" readonly></td><td id="img1" class="sImg" bgcolor="#db7093" onmouseover="over2(1)" onmouseout="out2(1)">1</td><td id="img2" class="sImg" bgcolor="#da70d6" onmouseover="over2(2)" onmouseout="out2(2)">2</td><td id="img3" class="sImg" bgcolor="#9acd32" onmouseover="over2(3)" onmouseout="out2(3)">3</td><td id="img4" class="sImg" bgcolor="#adff2f" onmouseover="over2(4)" onmouseout="out2(4)">4</td><td id="img5" class="sImg" bgcolor="#00bfff" onmouseover="over2(5)" onmouseout="out2(5)">5</td></tr></table></div></div><script type="text/javascript">//将轮换的⼤图⽚放⼊数组中var arr = new Array();arr[0] = "../images/textPhoto/1.jpg";arr[1] = "../images/textPhoto/2.jpg";arr[2] = "../images/textPhoto/3.jpg";arr[3] = "../images/textPhoto/4.jpg";arr[4] = "../images/textPhoto/5.jpg";//将input区域变换的⽂字放在数组⾥var text = new Array();text[0] = "焦点图1";text[1] = "焦点图2";text[2] = "焦点图3";text[3] = "焦点图4";text[4] = "焦点图5";var smallImg = document.getElementsByClassName("sImg"); //将页⾯上所有⼩图⽚存放在⼀个数组var num = 0;function changeImg() {document.getElementById("_photoes").src = arr[num];document.getElementById("_text").value = text[num];//当前⼩图标增加边框样式for(var i=0;i<arr.length;i++) {if(i==num) smallImg[num].style.border = "red solid"; //⼤图标对应的⼩图标增加边框样式else smallImg[i].style.border = "none";}if (num == arr.length - 1) num = 0; //如果显⽰的是最后⼀张图⽚,则图⽚序号变为第⼀张的序号else num += 1; //图⽚序号加⼀}var setID = setInterval("changeImg()",1000); //这样写任然会不断调⽤changeImg()函数/*当⿏标滑到⼤图标上时*/function over1() {clearInterval(setID); //图⽚停⽌轮换// smallImg[n-1].style.border = "red solid";}/*当⿏标离开⼤图标时*/function out1() {setID = setInterval("changeImg()",1000); //图⽚继续轮换// smallImg[n-1].style.border = "none"; //⼤图标对应的⼩图标边框样式取消}/*当⿏标滑到⼩图标上时*/function over2(n) {document.getElementById("_photoes").src = arr[n-1]; //只要⿏标滑到⼩图标上,⼤图区域就显⽰对应的图⽚ document.getElementById("_text").value = text[n-1];clearInterval(setID); //图⽚停⽌轮换//当前⼩图标增加边框样式for(var i=0;i<arr.length;i++) {if(i==n-1) smallImg[n-1].style.border = "red solid";else smallImg[i].style.border = "none";}}/*当⿏标离开⼩图标时*/function out2(n) {if(n!=arr.length)num = n; //从当前图⽚开始轮换else num = 0;setID = setInterval("changeImg()",1000); //图⽚继续轮换// smallImg[n-1].style.border = "none"; //⼩图标边框样式取消}</script></body></html>三、多张图⽚轮换调试笔记js源代码://实现⼏张图⽚的轮换var num = 0; //显⽰的图⽚序号,刚开始时是第⼀张图⽚function changeImg1() {var arr = new Array();arr[0]="../images/hao123/7.jpg";arr[1]="../images/hao123/8.jpg";arr[2]="../images/hao123/9.jpg";var photo = document.getElementById("topPhoto");if (num == arr.length - 1) num = 0; //如果显⽰的是最后⼀张图⽚,则图⽚序号变为第⼀张的序号else num += 1; //图⽚序号加⼀photo.src = arr[num];}setInterval("changeImg1()",5000); //每隔5000毫秒调⽤⼀次changImg1()函数HTML代码:<img src="../images/hao123/7.jpg" id="topPhoto">在使⽤的时候最好定义⼀下图⽚的样式,把图⽚的长宽都统⼀,这样图⽚动态显⽰的效果会更好⼀些。
前端开发技术之图片轮播效果实现随着网页设计的重要性不断增加,用户对于页面的视觉体验要求也越来越高。
作为前端开发人员,我们常常需要通过各种方式来提升页面的吸引力。
其中,图片轮播效果是非常常见而且实用的一种手段。
本文将介绍几种常见的图片轮播效果实现方式。
一、基本的自动轮播效果自动轮播效果是最常见的一种图片轮播方式。
通过自动切换图片,可以展示多张图片内容,给用户提供更多的信息。
在实现自动轮播效果时,常常使用JavaScript和CSS来完成。
1. HTML结构首先,我们需要创建一个容器来显示图片内容。
在HTML代码中,可以使用`<div>`元素作为容器,并设置一个唯一的ID,如"slider"。
在容器内部,可以使用`<img>`元素来插入图片,并使用CSS来设置图片的样式。
```<div id="slider"><img src="image1.jpg" alt="Image 1"><img src="image2.jpg" alt="Image 2"><img src="image3.jpg" alt="Image 3"></div>```2. CSS样式接下来,我们需要通过CSS来设置容器和图片的样式。
首先,我们可以设置容器的宽度和高度,并设置`overflow: hidden`来隐藏超出容器的部分。
然后,可以设置每个图片的宽度和高度,并使用`position: absolute`将它们叠加在一起。
最后,我们可以通过设置`left`和`top`属性,将图片按需求进行定位。
```#slider {width: 500px;height: 300px;overflow: hidden;position: relative;}#slider img {width: 100%;height: 100%;position: absolute;left: 0;top: 0;transition: opacity 1s;}```3. JavaScript代码最后,我们需要使用JavaScript来实现图片的切换效果。
图片轮转javascript代码1.简单的图片轮转(红色字体是修改地方)<script language=Javascript><!-- // BannerADvar bannerAD=new Array();var adNum=0;bannerAD[0]="images/1.jpg";bannerAD[1]="images/2.jpg";bannerAD[2]="images/3.jpg";bannerAD[3]="images/4.jpg";var preloadedimages=new Array();for (i=1;i<bannerAD.length;i++){preloadedimages[i]=new Image();preloadedimages[i].src=bannerAD[i];}function setTransition(){if (document.all){bannerADrotator.filters.revealTrans.Transition=Math.floor(Math.ra ndom()*23);bannerADrotator.filters.revealTrans.apply();}}function playTransition(){if (document.all)bannerADrotator.filters.revealTrans.play()}function nextAd(){if(adNum<bannerAD.length-1)adNum++ ;else adNum=0;setTransition();document.images.bannerADrotator.src=bannerAD[adNum]; playTransition();theTimer=setTimeout("nextAd()", 5000);}//--></script><IMG style="FILTER: revealTrans(duration=2,transition=20)" src="images/1.jpg" width="398" height="250"border=0 name=bannerADrotator><script language=Javascript>nextAd()</script>2.复杂的图片轮转(红色字体是修改地方)效果图2.1编写一个静态网页(调用lunzhuan.js)<html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>测试</title><style type="text/css">*{ margin:0px; padding:0px;}#ceshi{ width:300px; height:225px; margin:0 auto; border:1px red solid;}</style></head><body><div id="ceshi"><script language="JavaScript" src="images/lunzhuan.js"></script></div></body></html>2.2编写lunzhuan.js文件存放在images文件夹内<!--var widths=300; //焦点图片宽var w=0;var widthss=widths+w;var heights=225; //焦点图片高var heightss=heightss+w;var heightt=0;var counts=6; //总条数//img1=new Image();在这里是声明了一个图片元素的对象//后面是对图像的属性进行赋值或设置,如imgs.src="xxxx.jpg"是指定图片的索引地址.//这个代码一般用于head区,用于预加载图片,即加快图片显示.//只有用new Images()得到的图片IE7才认,img1=new Image();img1.src='images/1.jpg';url1=new Image();url1.src='http://localhost/';txt1=new Image();txt1.txt='我是11111111111';img2=new Image();img2.src='images/2.jpg'; url2=new Image();url2.src='http://localhost/'; txt2=new Image();txt2.txt='我是2222222222';img3=new Image();img3.src='images/3.jpg'; url3=new Image();url3.src='http://localhost/'; txt3=new Image();txt3.txt='我是3333333333';img4=new Image();img4.src='images/4.jpg'; url4=new Image();url4.src='http://localhost/'; txt4=new Image();txt4.txt='我是4444444444'; img5=new Image();img5.src='images/5.jpg'; url5=new Image();url5.src='http://localhost/'; txt5=new Image();txt5.txt='我是5555555555'; img6=new Image();img6.src='images/6.jpg'; url6=new Image();url6.src='http://localhost/'; txt6=new Image();txt6.txt='我是6666666666'; var nn=1; //当前所显示的滚动图var key=0; //标识是否为第一次开始执行var tt; //标识作用function change_img()if(key==0){key=1;} //如果第一次执行KEY=1,表示已经执行过一次了。
最简单的JavaScript图片轮播代码(两种方法)通过改变每个图片的opacity属性:素材图片:代码一:最简单的轮播广告代码二:第二步,布局好一个DIV,如:上一张下一张第三步,就到了写CSS的时候了.下面的CSS懂基础的人都看得懂.#croll{width:100%;height:180p;background-color:white;poition:relative;border-bottom:1polidgray;}、、这里是给整个大的DIV设定属性.#crollul{height:180p;lit-tyle:none;}、、DIV下的UL属性.#crollulli{width:100%;height:180p;margin:0p;padding:0p;dipla y:none;}、、DIV下的UL下的LI属性.注意:diplay:none;因为要将所有的li隐藏了先.当点击的时候在显示出来.。
ubl{poition:abolute;bottom:20p;left:40%;width:80p;height:20p;lin e-height:20p;tet-align:center;font-ize:16p;font-weight:bold;curor:pointer;}、、上一张按钮的属性.注意一个绝对定位.。
ubr{poition:abolute;bottom:20p;right:40%;width:80p;height:20p;line-height:20p;tet-align:center;font-ize:16p;font-weight:bold;curor:pointer;}、、下一张按钮的属性.注意一个绝对定位.。
ubr:hover{background:yellow;border-radiu:10p;}。
ubl:hover{background:yellow;border-radiu:10p;}、、以上两个hover是鼠标经过的效果.第四步,就是jquery代码了!也很简单.先将代码看一遍,你就会用了!四步轻松搞定一个简单的轮!。
web前端学习之轮播图实现(原⽣js)很久前接触过html css js 但⾃⼰在⼯作中⽤的少,简单的需求直接vue ⾛起,没有静下⼼好好写点js css 什么的,现在想要好好学习下⼤前端的知识了,第⼀个⼩练习,做了个轮播图⽹上有很多轮播图的实现过程,每个⼈都有⾃⼰不⼀样的思路,⾃⼰只要实现了就⾏。
当然有些思路确实⽐我的要好,后续借鉴学习。
逻辑:将要展⽰的图⽚全部放在盒⼦⾥,超出部分隐藏,然后设置定时器,没两秒循环⼀次 img 标签,如果display 为block 就将 display 设置为none 那么后⾯的图⽚就到当前的div 区域内了,⼤体思路是这样,当然后⾯加⼊了js 时间⽀持前后翻页,和提⽰功能上代码如下:<!DOCTYPE html><html><head><title>caroucel</title></head><style>*{margin:0;padding:0}.box {width: 300px;height: 250px;border: 1px solid red;position: relative}img {width: 300px;height: 250px;}#prev {position: absolute;top: 50%;margin-top: -12px;height: 35px;width: 15px;background-color: rgba(255, 0, 0, .6);vertical-align: center;line-height: 35px;cursor:pointer;}#next {position: absolute;top: 50%;right: 0;margin-top: -12px;height: 35px;width: 15px;background-color: rgba(255, 0, 0, .6);vertical-align: center;line-height: 35px;cursor:pointer;}</style><body><div class='box' style='overflow: hidden'><img src="./1" alt=""><img src="./2" alt=""><img src="./3" alt=""><img src="./4" alt=""><img src="./5" alt=""><span id='prev'>< </span> <span id='next'> ></span></div><div id='dd'></div><script>// 修改样式为块function inintBlock() {const imgObjs = document.getElementsByTagName("img")for (let i = 0; i < imgObjs.length; i++) {imgObjs[i].style.display = 'block'}}inintBlock()function operate() {const imgObjs = document.getElementsByTagName("img")for (let i = 0; i < imgObjs.length; i++) {if (imgObjs[i].style.display === 'block') {imgObjs[i].style.display = 'none'break;}}const state = Array.prototype.slice.call(imgObjs).map(function (item) { return item.style.display }) const res = state.filter(function (i) { return i === 'none' })if (res.length === 5) {inintBlock()}}let interval = window.setInterval(function () {operate()}, 2000)const el = document.getElementsByClassName('box')[0]el.addEventListener('mouseenter', function (event) {window.clearInterval(interval)})el.addEventListener('mouseleave', function (event) {interval = window.setInterval(function () { operate() }, 2000)})document.getElementById('prev').addEventListener('click',//获取当前images 的属性进⾏遍历,找block属性,修改前⼀个节点样式function () {const imgObjs = document.getElementsByTagName("img")for (let i = 0; i <imgObjs.length;i++){if(imgObjs[i].style.display === 'block'){if(i-1<0){document.getElementsByClassName('box')[0].nextSibling.innerText = '已经是⾸页了'break;}imgObjs[i-1].style.display = 'block'break;}}})document.getElementById('next').addEventListener('click',function(){const imgObjs = document.getElementsByTagName("img")for (let i = 0; i <imgObjs.length;i++){if(imgObjs[i].style.display === 'block'){if(i+1>4){document.getElementsByClassName('box')[0].nextSibling.innerText = '已经是最后⼀页了'break;}imgObjs[i].style.display = 'none'break;}}})</script></body></html> 代码也是很简单的,主要联系下,js 遍历 dom 的操作,孰能⽣巧,多多练习做的过程中有发现个⽅法,通过定位把⼏张图⽚从左往右⼀次拼接起来,点击的时候向左或者向右触发事件,事件内容是修改各个图⽚的定位 left right 值从⽽产⽣左右翻滚的效果。
前端开发技术中的图片轮播实现方法在现代网页设计中,图片轮播是一种常见而受欢迎的元素。
它为网站提供了一种吸引人的方式来展示图片和内容。
前端开发人员需要掌握不同的技术和实现方法来创建出独特而流畅的图片轮播。
本文将介绍一些常见的图片轮播实现方法和技巧。
1. 基于CSS3的动画CSS3提供了许多强大的动画特性,例如过渡、变形和关键帧动画。
利用这些特性,我们可以很容易地实现一个简单的图片轮播效果。
通过设置图片的不透明度或位置,我们可以创建渐变过渡的效果或滑动的动画。
此外,利用关键帧动画,我们还可以创建更为复杂的轮播效果,如旋转、缩放或淡入淡出。
这种方法非常适合在不需要过多交互的情况下展示图片。
2. JavaScript库和框架除了使用CSS3,我们还可以使用各种JavaScript库和框架来实现图片轮播。
其中最受欢迎的是jQuery。
jQuery提供了丰富的插件和方法,可以帮助我们创建出各种各样的图片轮播效果。
例如,使用jQuery的fadeIn/fadeOut方法可以实现淡入淡出的效果,使用animate方法可以实现滑动或缩放的效果。
此外,还有一些专门的轮播插件,如Slick、Owl Carousel等,它们提供了更多的灵活性和自定义选项。
选择合适的库或插件可以大大简化我们的开发工作。
3. 响应式设计移动设备的兴起使得响应式设计成为了不可避免的趋势。
在移动设备上展示图片轮播时,我们需要考虑到屏幕大小、触摸交互等因素。
为了实现响应式图片轮播,我们可以使用媒体查询和触摸事件来适应不同的设备和用户操作。
通过媒体查询,我们可以根据屏幕大小调整图片和轮播效果的布局。
通过触摸事件,我们可以实现手势滑动、触摸反馈等交互效果。
响应式设计不仅可以提升用户体验,还可以使我们的网站在不同设备上呈现出最佳效果。
4. 图片优化在图片轮播中,图片负责承载重要的内容和视觉效果。
因此,我们需要对图片进行优化,以提高加载速度和展示效果。
JavaScript实现图像轮播特效教程章节一:引言在现代网页设计中,图像轮播特效是非常常见的元素之一。
通过图像轮播特效,可以使网页更加动态、吸引人,提升用户体验。
本教程将介绍如何使用JavaScript实现图像轮播特效,并提供详细的步骤和示例代码。
章节二:基本结构首先,我们需要准备好轮播图的基本结构。
在HTML文件中,创建一个容器元素,用于包裹轮播图的图片和导航按钮。
然后,给容器元素添加一个唯一的ID,方便在JavaScript中进行操作。
章节三:样式设计接下来,我们需要为轮播图的容器元素和其中的图片设置样式。
使用CSS,可以设置容器元素的宽度和高度,以及图片的显示方式和过渡效果。
通过设置适当的样式,可以使轮播图在页面中居中显示,并可以根据需要进行自定义的设计。
章节四:添加JavaScript代码再接下来,我们需要使用JavaScript编写轮播图的逻辑代码。
首先,使用DOM操作获取到容器元素和其中的图片元素。
然后,使用数组或者类数组对象保存每张图片的路径或地址。
接下来,定义一个变量来存储当前显示的图片的索引。
然后,编写一个函数来实现图像切换的效果。
在函数中,通过改变图片元素的样式或属性,实现图片的切换。
同时,更新当前显示的图片的索引,以便进行下一次切换。
章节五:自动轮播功能除了手动切换图片,我们还可以添加自动轮播的功能。
使用JavaScript的定时器函数,可以定期触发图片切换的函数。
通过设置合适的时间间隔,可以实现自动轮播的效果。
同时,需要添加鼠标移入和移出事件,以便在用户鼠标悬停在图片上时停止轮播,鼠标离开时继续轮播。
章节六:导航按钮如果希望用户可以通过导航按钮来手动控制轮播图的切换,我们还需要添加导航按钮的功能。
在HTML文件中,创建相应数量的导航按钮,并为每个按钮设置一个特定的类名或索引属性。
在JavaScript中,使用事件委托的方式,监听导航按钮的点击事件。
当用户点击某个导航按钮时,获取该按钮的索引,然后调用图片切换函数,显示对应索引的图片。
如何使用JavaScript实现轮播图功能使用JavaScript实现轮播图功能随着Web技术的不断发展,轮播图成为了Web设计中常见的功能之一。
无论是展示产品、介绍公司或者分享照片,轮播图都可以很好地帮助我们展示信息。
那么,如何使用JavaScript实现轮播图功能呢?1. 创建HTML结构首先,我们需要在HTML中创建轮播图的基本结构。
通常情况下,轮播图由一个父容器和若干个子容器组成。
父容器用来包裹子容器,并设置宽度和高度,以及必要的样式。
子容器则用来显示具体的内容,例如图片、文字等。
2. 添加CSS样式然后,为轮播图添加CSS样式,使其呈现出我们期望的效果。
可以设置轮播图的宽度、高度、背景颜色等。
通过CSS样式,我们可以控制轮播图的外观,使其更符合我们的设计需求。
3. 设定轮播时间间隔在JavaScript中,我们可以使用定时器(setInterval)来设定轮播图的时间间隔。
例如,我们可以每隔3秒钟切换到下一张图片。
当然,你也可以根据需求自定义时间间隔。
通过设置定时器,我们可以实现轮播图的自动切换效果。
4. 实现图片切换当设定好轮播时间间隔后,我们需要编写JavaScript代码来实现图片的切换效果。
一种常见的实现方法是通过改变子容器的left或者marginLeft属性,使其在水平方向上产生位移。
通过改变位移值,我们可以实现图片的切换效果。
5. 添加导航按钮通常情况下,轮播图还会添加导航按钮,用来手动切换图片。
导航按钮可以是圆点、箭头或者其他形式。
当用户点击导航按钮时,我们需要调用JavaScript函数,使图片切换到相应位置。
6. 实现自动播放和停止功能为了增强用户体验,我们可以添加自动播放和停止功能。
当用户鼠标悬停在轮播图上时,轮播图停止自动播放;当用户鼠标移出轮播图时,轮播图继续自动播放。
这样可以让用户自由控制图片的切换。
7. 添加过渡效果为了使轮播图更加平滑流畅,我们可以为图片切换添加过渡效果。
基于JavaScript实现轮播图效果本⽂实例为⼤家分享了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);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;#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:;" ></a><a href="javascript:;" ></a><a href="javascript:;" ></a><a href="javascript:;" ></a><a href="javascript:;" ></a><a href="javascript:;" ></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");}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"){}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>以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
Javascript实现图⽚轮播效果(⼀)让图⽚跳动起来图⽚轮播效果,在各⼤⽹站的⾸页都能看到,⽐较常见。
下⾯⼩编给⼤家分享这⼀效果的简单实现。
1.图⽚跳动起来2.图⽚序列控制的实现3.前后按钮控制的实现这篇⽂章来看图⽚按照间隔时间进⾏切换.我们先把结构代码完成,这个我就不做详细的讲解了.先给⼤家展⽰下效果图:代码如下:<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style>* {box-sizing: border-box;}a {text-decoration: none;}ul,ol,li{list-style: none;margin: 0;padding: 0;}#slider{width: 800px;height: 300px;overflow: hidden;position: relative;margin: 0 auto;}#slider ul{width: 2400px;position: relative;}#slider ul:after{content: " ";width: 0;height: 0;display: block;}#slider ul li{float: left;width: 800px;height: 300px;overflow: hidden;}#slider ul li img{width: 100%;}#slider ol{position: absolute;bottom: 10px;left: 46%;}#slider ol li{display: inline-block;}#slider ol li a{display: inline-block;padding:4px 8px;border-radius:15px;background-color: #000;color: #fff;}#slider .prev, #slider .next{display: inline-block;position: absolute;top: 49%;background-color: #000;opacity: 0.6;color: #fff;padding: 3px;}#slider .prev{left: 10px;}#slider .next{right: 10px;}</style></head><body><div id="slider"><ul><li> <img src="/images/sliders/slider-1.jpg" /> </li><li> <img src="/images/sliders/slider-2.jpg" /> </li><li> <img src="/images/sliders/slider-3.jpg" /> </li></ul><ol><li> <a href="#">1</a> </li><li> <a href="#">2</a> </li><li> <a href="#">3</a> </li></ol><a href="#">上⼀张</a><a href="#">下⼀张</a></div></body></html>好的,现在我们来通过JS控制图⽚的跳转.⾸先我们需要找到图⽚所在的位置,这⾥我们是通过ul来进⾏布局的所以⾸先得找到UL下的LI的数⽬接着让图⽚⼀张⼀张的展⽰,我们使⽤了视窗的模式,就是遮罩层的模式.#slider是⼀个视窗,ul是视窗外的景⾊,⽽ul得景⾊是横向排版的然后就是让外⾯的景⾊显⽰为视窗的⼤⼩,也就是让每⼀张图⽚作为每⼀次的视窗景⾊,这⾥就是控制图⽚的⼤⼩要与视窗同等⼤⼩.上⾯讲解的是⼀个概念,也就是布局的处理,下⾯我们JS的控制了,要实现图⽚间隔的显⽰不同.我们就需要⽤到JS的setInterval或者setTimeout.这⾥我们使⽤setInterval(因为这个⽤起来⽅便.)每跳转⼀次,我们控制的是UL的position的left,这样就可以让ul下的景⾊,在每⼀次都是显⽰不⼀样,⽽这个left是根据视窗的宽度来决定,第⼀张left当然是-800 * 0 ,第⼆种就是 -800*1,第三种是-800*2...依次类推.那我们就可以得出下⾯的代码<script>(function(){var slider = document.getElementById("slider");var imgul = slider.getElementsByTagName("ul")[0];var imglis = imgul.getElementsByTagName("li");var len = imglis.length;var index = 0;setInterval(function(){if(index >= len){index = 0;}imgul.style.left = - (800 * index) + "px";index++;},2000);})();</script>JS代码这样看起来就很简单了. 我这⾥是设置2秒跳转依次,然后跳转的次数⼤于等于图⽚的数⽬后,让其返回到第⼀张图⽚.以上内容是⼩编给⼤家介绍Javascript实现图⽚轮播效果(⼀)让图⽚跳动起来的全部内容,希望对⼤家有所帮助。
JavaScript实现图⽚的⾃动轮播⼀、html和css部分代码设计的框架为:⼀个⼤的div⽤来显⽰图⽚(共四张图⽚),这个⼤的div中包含两个箭头,⽤来切换图⽚,向左或向右;然后底部有四个⼩的div⽤来对应每张图⽚;html和css效果图:代码:1<!DOCTYPE html>2<html>3<head lang="en">4<meta charset="utf-8">5<title>myImages</title>6<style type="text/css">7 img{8 width: 100%;9 }1011 .li_img{12 width: 800px;13 float: left;14 list-style: none;15 }1617 .ul_img{18 width: 6000px;19 padding:0px;20 margin: 0px;21 transition: all 2s;2223 }2425 .main_div{26 width: 800px;27 overflow: hidden;28 position: relative;29 top: 100px;30 left: 350px;31 }3233 .arrows{34 z-index: 9999;35 position: absolute;36 padding-top: 230px;37 width: 800px;38 }3940 .arrows span{41 font-size: 3em;42 color: seashell;43 }4445 .arrows span:hover {46 cursor: pointer;47 background-color: rgba(192, 192, 192, 0.29);48 }4950 .div_btn{51 float: left;52 border-radius: 100px;53 background-color: aquamarine;54 width: 60px;55 height: 10px;56 margin-left: 10px;57 margin-top: 130px;58 }5960 .div_btn:hover{61 background-color:aqua;6263 }64</style>65</head>66<body>67<div class = "main_div">68<div class = "arrows">69<span title="1" class="arrow"><</span>70<span title="0" class="arrow" style="float: right">></span>71</div>7273<ul class="ul_img">74<li class="li_img"><img src="images/1.jpg"></li>75<li class="li_img"><img src="images/2.jpg"></li>76<li class="li_img"><img src="images/3.jpg"></li>77<li class="li_img"><img src="images/4.jpg"></li>78</ul>79</div>8081<div style="margin-left: 600px">82<div class="div_btn"></div>83<div class="div_btn"></div>84<div class="div_btn"></div>85<div class="div_btn"></div>86</div>87<script type="text/javascript" src="myscript.js"></script>88</body>89</html>JavaScript部分:轮播的原理:先把图⽚排成⼀⾏,然后准备⼀个只有⼀张图⽚⼤⼩的容器,对这个容器设置超出部分隐藏,再控制定时器来让这些图⽚整体左移或右移,这样呈现出来的效果就是图⽚在轮播了。
JavaScript图⽚轮播代码分享本⽂为⼤家分享的JavaScript图⽚轮播代码如下<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>⽆标题⽂档</title><script src="/js/jquery/1.9.1/jquery-1.9.1.min.js"></script><style>.img-div img{display:none;}</style></head><body><div class="slide" id="slide"><div class="img-div"><img src="model.jpg" /><img src="model2.jpg" /><img src="model.jpg" /><img src="model2.jpg" /><img src="model.jpg" /></div><div class="slide-btn"><a href="#" class="hover">1</a><a href="#" class="hover">2</a><a href="#" class="hover">3</a><a href="#" class="hover">4</a><a href="#" class="hover">5</a></div></div><script type="text/javascript">var zBase={$id:function(id){return document.getElementById(id);},$tagName:function(tagName,obj){return ((obj?obj:document).getElementsByTagName(tagName));},$c:function(clsN,obj){var tag=this.$tagName('*'),reg=new RegExp('(^|\\s)'+clsN+'(\\s|$)'),arr=[];for(var i=0;i<tag.length;i++){if(reg.test(tag[i].className)){arr.push(tag[i]);}}return arr;},$add:function(obj,clsN){var reg=new RegExp('(^|\\s)'+clsN+'(\\s|$)');if(!reg.test(obj.className)){obj.className+=' '+clsN;}},$remove:function(obj,clsN){var cla=obj.className;var reg='/|\\s*'+clsN+'\\b/g';obj.className=cla?cla.replace(eval(reg),''):'';},css:function(obj,attr,value){if(value){obj.style[attr]=value;}else{return typeof window.getComputedStyle!="undefined"?window.getComputedStyle(obj,null)[attr]:obj.currentStyle[attr]; }},easing:{liner:function(t,b,c,d){return c*t/d+b},easeOut:function(t,b,c,d){return -c*((t=t/d-1)*t*t*t-1)+b}},config:{index:0,auto:true,direct:'left'},init:function(){this.slide=this.$id('slide');this.img_div=this.$c('img-div')[0];this.slide_btn=this.$tagName('a',this.$c('slide-btn')[0]);this.img_arr=this.$tagName('img',this.img_div);if(this.config.auto){this.play();}this.hover();},animate:function(obj,attr,val){var d=1000;if(obj[attr+"timer"]){clearInterval(obj[attr+"timer"])};var start= parseInt(zBase.css(obj,attr));var space=val-start,st=(new Date().getTime()),m=space>0?'cell':'floor';obj[attr+'timer']=setInterval(function(){var t=(new Date().getTime()-st);if(t<d){zBase.css(obj,attr,Math[m](zBase.easing["easeOut"](t,start,space,d))+"px");}else{clearInterval(obj[attr+'timer']);zBase.css(obj,attr,top+space+"px");}},20);},hover:function(){for(var i=0;i<this.slide_btn.length;i++){this.slide_btn[i].index=i;this.slide_btn[i].onmouseover=function(){if(zBase.slide.timer){clearInterval(zBase.slide.timer);}zBase.config.index=this.index;//console.log(this.slide_btn);for(var j=0;j<zBase.slide_btn.length;j++){zBase.$remove(zBase.slide_btn[j],'hover');}zBase.$add(zBase.slide_btn[zBase.config.index],'hover');zBase.animate(zBase.img_div,zBase.config.direct,-zBase.config.index*1000); }this.slide_btn[i].onmouseout=function(){zBase.play();}}},play:function(){this.slide.timer = setInterval(function(){var tags=zBase.$tagName('img',this.img_div);//zBase.$tagName('img',this.img_div)[zBase.config.index].style.display="block"; for(var i =0;i<tags.length;i++){if(zBase.config.index==i){zBase.$tagName('img',this.img_div)[zBase.config.index].style.display="block"; }else{zBase.$tagName('img',this.img_div)[i].style.display="none";}}zBase.config.index++;if(zBase.config.index>=zBase.img_arr.length) zBase.config.index=0;zBase.animate(zBase.img_div,zBase.config.direct,-zBase.config.index*500);for(var j=0;j<zBase.slide_btn.length;j++){zBase.$remove(zBase.slide_btn[j],'hover') ;}zBase.$add(zBase.slide_btn[zBase.config.index],'hover');},3000)}}zBase.init();</script></body></html>以上就是为⼤家分享的JavaScript图⽚轮播代码,希望⼤家可以喜欢。
JS实现轮播图效果的3种简单⽅法本⽂实例为⼤家分享了3种⽅法实现JS轮播图效果的具体代码,供⼤家参考,具体内容如下Js实现轮播图01实现思路这可能是轮播图最简单点的实现之⼀,通过更改图⽚的src来实现该效果,⾸先需要将图⽚命名格式统⼀⽐如pic01.jpg,pic02.jpg…,再通过js使⽤定时器去改变img标签⾥⾯的src图⽚链接的名字来实现切换效果。
代码如下:实现效果<!DOCTYPE html><html><head><meta charset="utf-8"><title>轮播图实现01</title><style type="text/css">.lunbo{width: 900px;height: 400px;margin:100px auto;}.lunbo img{width: 100%;height:100%;}</style></head><body><!--轮播图模块 --><div class="lunbo"><img id="lunbo_img" src="./pic/img3.jpeg" ></div><!-- Js代码 --><script>var index = 1;function lunbo(){index ++ ;//判断index是否⼤于3if(index > 3){index = 1;}//获取img对象var img = document.getElementById("lunbo_img");img.src = "./pic/img"+index+".jpeg";}//2.定义定时器setInterval(lunbo,2000);/*切记定时器⾥调⽤lunbo⽅法不能加(),setInterval(lunbo,2000);如果加()会执⾏lunbo()⽅法,⽽导致定时器没⽤。
[Web前端技术] javascript实现图片轮播
图片轮播在我们实际开发的过程中使用的频率非常多在Jquery插件当道的时代,原生js的逻辑性更显得尤为重要,希望一下代码能对各位有所帮助!
< !DOCTYPE html>
< html lang="en">
< head>
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
< title>JS幻灯代码</title>
< script type="text/javascript">
window.onload = function () {
flag = 0;
obj1 = document.getElementById("slider");
obj2 = document.getElementsByTagName("li");
obj2[0].style.backgroundColor = "#666666";
//默认被选中颜色
time = setInterval("turn();", 5000);
obj1.onmouseover = function () {
clearInterval(time);
}
obj1.onmouseout = function () {
time = setInterval("turn();", 6000);
}
for (var num = 0; num < obj2.length; num++) {
obj2[num].onmouseover = function () {
turn(this.innerHTML);
clearInterval(time);
}
obj2[num].onmouseout = function () {
time = setInterval("turn();", 6000);
}
}
//延迟加载图片,演示的时候,使用本地图片
//上线后请改为二级域名提供的图片地址
document.getElementById("second").src = "images/2.png";
//使用图片宽660,高550
document.getElementById("third").src = "images/3.png";
document.getElementById("four").src = "images/4.png";
}
function turn(value) {
if (value != null) {
flag = value - 2;
}
if (flag < obj2.length - 1)
else
flag = 0;
obj1.style.top = flag * (-550) + "px";
for (var j = 0; j < obj2.length; j++) {
obj2[j].style.backgroundColor = "#ffffff";
}
obj2[flag].style.backgroundColor = "#666666"; }
< /script>
< style type="text/css">
#wrap
{
height: 550px;
width: 660px;
overflow: hidden;
position: relative;
overflow: hidden;
}
#wrap ul
{
list-style: none;
position: absolute;
top: 500px;
left: 450px;
}
#wrap li
{
margin-left:2px;
opacity: .3;
filter: alpha(opacity=30);
text-align: center;
line-height: 30px;
font-size: 20px;
height: 30px;
width: 30px;
background-color: #fff;
float: left;
border-radius:3px;
cursor:pointer;
}
#slider
{
position: absolute;
left: 0px;
}
#slider img
{
float: left;
border: none;
}
< /style>
< /head>
< body>
< div id="wrap">
< div id="slider">
< a target="_blank" href="#"><img src="images/1.png" /></a> < a target="_blank" href="#"><img id="second" /></a>
< a target="_blank" href="#"><img id="third" /></a>
< a target="_blank" href="#"><img id="four" /></a>
< /div>
< ul>
< li>1</li>
< li>2</li>
< li>3</li>
< li>4</li>
< /ul>
< /div>
< /body>
< /html>。