这个案例主要练习幻灯片的左右切换,同时增加了一组统一控制上下切换的按钮。
原生JavaScript,主要是练习变量的增减和条件的判断。
效果如图:
具体效果点击查看。
一、html代码
<h1>多组幻灯片的单独和统一切换</h1> <div id="wrap"> <div id="group"> <a href="javascript:;" id="prev">上一组切换</a> <a href="javascript:;" id="next">下一组切换</a> </div> <div id="tabPic" class="clearfix"> <div class="fl rp" id="tabLeft"> <img src="images/group1/1.jpg"> <div class="title"> <h3 class="fl" >月光下的湖面</h3> <span class="fr" >1/5</span> </div> <div class="buttons"> <a href="#" class="prev"><i class="iconfont icon-left"></i></a> <a href="#" class="next"><i class="iconfont icon-right"></i></a> </div> </div> <div class="fr rp" id="tabRight"> <img src="images/group2/1.jpg"> <div class="title"> <h3 class="fl">一朵小喇叭</h3> <span class="fr">1/5</span> </div> <div class="buttons"> <a href="#" class="prev"><i class="iconfont icon-left"></i></a> <a href="#" class="next"><i class="iconfont icon-right"></i></a> </div> </div> </div> </div> <p><a href="http://www.mrszhao.com">赵老师前端教学博客</a></p>
二、css代码
*{ box-sizing:border-box;} body,h3{ margin:0;} h1{ color:#fff; text-align:center;} h3{ font-weight:normal;} body{ font:1em "microsoft Yahei"; color:#333; background-color:#333;} a{ color:#999; text-decoration:none; transition:0.2s;} img{ vertical-align:middle;} p{ text-align:center;} .clearfix:after{ content:""; display:block; clear:both;} .fl{ float:left;} .fr{ float:right;} .rp{ position:relative;} #wrap{ width:960px; margin:50px auto; background-color:#fff; padding:30px; } #group{ margin-bottom:20px; } #group a{ display:inline-block; padding:10px 40px; background-color:rgba(251,60,60,.8); color:#fff; text-decoration:none;} #group a:hover{ background-color:rgba(251,60,60,1)} .title{ position:absolute; width:100%; background:linear-gradient(to right,rgba(0,0,0,.8),rgba(0,0,0,0)); color:#fff; left:0; bottom:0; padding:10px 20px; font-size:0.875em; } .buttons a{ position:absolute; top:0; width:40px; height:375px; line-height:375px; text-align:center; } .buttons a .iconfont{ font-size:1.5em; color:rgba(255,255,255,.3);} .buttons a:hover .iconfont{ font-size:1.5em; color:rgba(255,255,255,.8);} .buttons .prev{ left:0; } .buttons .next{ right:0; }
三、js代码
window.onload=function(){ //准备数据 var arrImg1=['images/group1/1.jpg','images/group1/2.jpg','images/group1/3.jpg','images/group1/4.jpg','images/group1/5.jpg']; var arrTitle1=['月光下的湖面','夕阳下的农场','晨曦中的马群','大海中的小船','极光下温暖的小屋']; var arrImg2=['images/group2/1.jpg','images/group2/2.jpg','images/group2/3.jpg','images/group2/4.jpg','images/group2/5.jpg']; var arrTitle2=['一朵小喇叭','金色的花蕊','青石上的小黄花','一朵小黄花','紫色雏菊']; //找对象 var leftWrap=document.getElementById('tabLeft'); var oLeftImg=leftWrap.getElementsByTagName('img')[0]; var oLeftH3=leftWrap.getElementsByTagName('h3')[0]; var oLeftSpan=leftWrap.getElementsByTagName('span')[0]; var oLeftLink=leftWrap.getElementsByTagName('a'); var num1=0; leftTab(); //左边的幻灯 function leftTab(){ oLeftImg.src=arrImg1[num1]; oLeftH3.innerHTML=arrTitle1[num1]; oLeftSpan.innerHTML=num1+1+'/'+arrImg1.length; } oLeftLink[0].onclick=function(){ num1--; if(num1==-1){ num1=arrImg1.length-1; } leftTab(); } oLeftLink[1].onclick=function(){ num1++; if(num1==arrImg1.length){ num1=0; } leftTab(); } //右边的幻灯 var rightWrap=document.getElementById('tabRight'); var oRightImg=rightWrap.getElementsByTagName('img')[0]; var oRightH3=rightWrap.getElementsByTagName('h3')[0]; var oRightSpan=rightWrap.getElementsByTagName('span')[0]; var oRightLink=rightWrap.getElementsByTagName('a'); var num2=0; rightTab(); function rightTab(){ oRightImg.src=arrImg2[num2]; oRightH3.innerHTML=arrTitle2[num2]; oRightSpan.innerHTML=num2+1+'/'+arrImg2.length; } oRightLink[0].onclick=function(){ num2--; if(num2==-1){ num2=arrImg2.length-1; } rightTab(); } oRightLink[1].onclick=function(){ num2++; if(num2==arrImg2.length){ num2=0; } rightTab(); } //上一组和下一组 var oPrev=document.getElementById('prev'); var oNext=document.getElementById('next'); oPrev.onclick=function(){ num1--; if(num1==-1){ num1=arrImg1.length-1; } leftTab(); num2--; if(num2==-1){ num2=arrImg2.length-1; } rightTab(); } oNext.onclick=function(){ num1++; if(num1==arrImg1.length){ num1=0; } leftTab(); num2++; if(num2==arrImg2.length){ num2=0; } rightTab(); } }
案例源代码下载地址:
链接: https://pan.baidu.com/s/1dGQQclj9ULSWT3zVnMizmg 提取码: mh4q
发表评论:
◎请发表你卖萌撒娇或一针见血的评论,严禁小广告。