JavaScript 最基本的轮播图实现

html 与css 没来得及写注释 ,以下为源码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.div1{

width: 600px;
height: 400px;
margin: auto;
position: relative;

}
img {
width: 600px;
height: 400px;
position: absolute;
opacity: 0;

}
#left_span{
display: inline-block;
width: 10px;
height: 50px;
background: red;
position: absolute;
top: 175px;
}
#right_span{
display: inline-block;
width: 10px;
height: 50px;
background: red;
position: absolute;
top: 175px;
left: 590px;
}
#left_span:hover,#right_span:hover {
cursor: pointer;
}
.div1 div{
width: 30px;
height: 30px;
color: white;
position: absolute;
bottom: 10px;
text-align: center;
line-height: 30px;
}
#div1_1{left: 200px;}
#div1_2{left: 240px;}
#div1_3{left: 280px;}
#div1_4{left: 320px;}
#div1_5{left: 360px;}
.div1_i{
background: blue;
}
.div1 div:hover{
background: blue;
cursor: pointer;
}
.img1{
opacity: 1;
}

</style>
<script type="text/javascript">
var arr= new Array(5);
var darr= new Array(5);
//a表示正展示图片的索引
var a=0;
onload=function(){
var img=document.querySelectorAll(‘img‘);
var div =document.querySelectorAll(‘.div1 div‘);
for (var i=0;i<5;i++) {
arr[i]=img[i];
img[i].index=i

darr[i]=div[i];
div[i].index=i;
}
//通过计时器 让图片自己切换
var time
function mytime(){
//通过清空当前img的类名,清空透明度
arr[a].className =‘‘;
//通过清空当前div的类名,改变div背景
darr[a].className=‘‘;
//获得下一个图片索引
a++;
//判断上一个索引是否大于四 若大于四 变成第0个
if (a>4) {
a=0;
}
//通过设置下一张图片类名,设置透明度为1.
arr[a].className=‘img1‘;
//通过设置下一个div类名,设置其背景.
darr[a].className=‘div1_i‘;
}
//开启计时器
time = setInterval(mytime,1000);
//鼠标移入时停止计时器
var div = document.querySelector(‘.div1‘);
div.onmouseover=function(){
clearInterval(time);
}
//鼠标移出开始计时器
div.onmouseout=function(){
time = setInterval(mytime,1000);
}
//鼠标移入下面div中,改变图片
for (arrDiv of darr){
arrDiv.onmousemove=function(){
//先清空img div的类名
arr[a].className=‘‘;
darr[a].className=‘‘;
//移入的div设置背景及对应角标图片显示
arr[this.index].className=‘img1‘;
this.className=‘div1_i‘;
//改变a的值,a表示正展示图片的索引
a=this.index;
}
}
}
//初始时 ,第一张图片透明度为1,其他透明度都为零。(你也可以改变其z-index来实现)
function left_onclick(){
//通过清空当前img的类名,清空透明度
arr[a].className=‘‘;
//通过清空当前div的类名,清除背景
darr[a].className=‘‘;
//获得上一个图片索引
a--;
//判断上一个索引是否小于零 若小于零 变成第四个
if(a<0){
a=4;
}
//通过设置上一张图片类名,设置透明度为1.
arr[a].className=‘img1‘;
//通过设置上一个div类名,设置其背景.
darr[a].className=‘div1_i‘;
}

function right_onclick(){
//通过清空当前img的类名,清空透明度
arr[a].className =‘‘;
//通过清空当前div的类名,改变div背景
darr[a].className=‘‘;
//获得下一个图片索引
a++;
//判断上一个索引是否大于四 若大于四 变成第0个
if (a>4) {
a=0;
}
//通过设置下一张图片类名,设置透明度为1.
arr[a].className=‘img1‘;
//通过设置下一个div类名,设置其背景.
darr[a].className=‘div1_i‘;
}
</script>
</head>
<body>
<div class="div1">
<img class="img1" src="img/p1.jpg" />
<img class="" src="img/p2.jpg" />
<img class="" src="img/p3.jpg" />
<img class="" src="img/p4.jpg" />
<img class="" src="img/p5.jpg" />
<span id="left_span" onclick="left_onclick();"></span>
<span id="right_span" onclick="right_onclick();"></span>
<div id="div1_1" class="div1_i">0</div>
<div id="div1_2">1</div>
<div id="div1_3">2</div>
<div id="div1_4">3</div>
<div id="div1_5">4</div>
</div>
</body>
</html>

原文地址:https://www.cnblogs.com/xiaomingzhangbiao/p/9801611.html

时间: 2024-10-29 14:51:04

JavaScript 最基本的轮播图实现的相关文章

简要分析javascript的选项卡和轮播图

选项卡 思路 1.按钮和展示的页面要对应:分别遍历,记住当前按钮的索引,让其成为展示页面的索引 2.只出现所对应的页面:所有的页面隐藏,只展示想要的页面 只展示js代码 for(var i=0;i<input.length;i++){ input[i].index=i //让浏览器解析HTML文档时,保存每一个input的索引 input[i].onclick=function(){ for(var j=0;j<div.length;j++){ //所有的div为隐藏 div[j].style

JavaScript实现移动端轮播图效果

功能描述: 自动无缝轮播图片,底部小圆点跟图片保持一致:手指左右移动轮播图,移动距离大于50px播放下一张(或上一张),小于50px则回弹 具体功能实现: 1.定时器 自动轮播图片 先声明一个index=0用来存图片索引: 添加一个定时器,每隔两秒调用一次,每调用一次定时器(图片播放一次)index就加一: 通过transform(变形)属性和transition(过渡)属性实现图片的轮播. 1 var index = 0; 2 var timer = setInterval(function(

photoSlider-原生js移动开发轮播图、相册滑动插件

详细内容请点击 在线预览   立即下载 使用方法: 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css" href="css/photoSlider.min.css" /><script src="js/photoSlider.min.js" type="text/javascript" charset="utf-8&q

photoSlider-html5原生js移动开发轮播图-相册滑动插件

简单的移动端图片滑动切换浏览插件 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css" href="css/photoSlider.min.css" /> <script src="js/photoSlider.min.js" type="text/javascript" charset="utf-8">

3d轮播图的效果实现

最近工程比较松,所以自己研究了一下3d轮播图的实现原理,其实说白了也不是很难就是在x,y,z轴上的平移和整个平面的旋转变换达到的效果, 下面是实现代码 html部分 <div class="stage"> <div class="contains"> <div style="transform: rotateY(0deg) translateZ(400px);">关于我</div> <div

原生javascript轮播图!

<style> .box { width: 500px; height: 275px; position: relative; margin: 100px auto; } a { text-decoration: none; font-size: 28px; text-align: center; line-height: 80px; display: inline-block; width: 40px; color:#fff; background:rgba(0,0,0,0.6); posi

javascript效果:手风琴、轮播图、图片滑动

最近都没有更,就来几个效果充实一下. 都没有进行美化这步. 手风琴: 纯css: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>手风琴css</title> <style> .showBox{ width: 660px; overflow: hidden; } ul{ list-style:

轮播图-JavaScript

轮播图一: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus?"> <meta name="Author" content=""> <meta name=

纯原生javascript仿网易轮播图

第一次有自己的关于代码的博客,感到诚惶诚恐.这可能是我第一次以程序猿,或者连初级程序猿都不是的身份下开通的个人“技术”(胡写乱写)博客园地.闲言碎语不要讲,咱今天就写一点关于js的代码吧.网易首页大家肯定都去过,在首页左侧部分有个轮播图,效果很好,构思精巧,非常诱人.注,此demo非本人原创,在这里进行个人解读,力求通俗易懂(主要是让我自己明白!). 那么如何实现相关技术,进而实现如图效果呢?下面的进度条是用JQuery写的,这里暂不考虑.下面从三个方面讨论网一轮播图. 一.HTML部分 1 <