博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
应用自定义属性、索引值实现带略缩图的图片轮播
阅读量:5235 次
发布时间:2019-06-14

本文共 3298 字,大约阅读时间需要 10 分钟。

<!DOCTYPE html>

<html>
<meta charset="utf-8">
<head>
<title></title>
<style type="text/css">
ul{
padding: 0;
margin: 0;
}
li{
list-style: none;
}
p { margin:0; }
body { text-align:center; }
#pic{
width: 400px;
height: 400px;
border: 10px solid #ccc;
margin:50px auto 0;
position:relative;
}
a{
width:40px;
height:40px;
filter:alpha(opacity:80);
opacity:0.8;
position:absolute;
top:160px;
font-size:20px;
font-weight: bolder;
color:#FFFFFF;
text-align:center;
line-height:40px;
text-decoration:none;
border-radius: 50%;
background: #EFBD00;
}
#prev{
left: 10px;
}
#next{
right: 10px;
}
a:hover{
filter:alpha(opacity:30);
opacity:0.3;
}
#pic p ,#pic strong{
width:400px;
height:30px;
line-height:30px;
text-align:center;
background:#000;
color:#fff;
font-size:14px;
filter:alpha(opacity:80);
opacity:0.8;
position:absolute;
left:0;
}
#pic p{
bottom:0;
}
#pic strong{
top:0;

}

#pic img{
width: 400px;
height: 400px;
}
#pic .active {
background:#EFBD00;
}
#pic ul{
position: absolute;
bottom: -40px;
right:160px;

}

#pic li{
width: 10px;
height: 10px;
margin-bottom: 4px;
background: #94A59C;
margin-left: 20px;
float: left;
border-radius: 50%;
cursor: pointer;
position: relative;
}
#pic li .mini {
position: absolute;
width: 39px;
height: 48px;
bottom: 25px;
border: 2px solid #c2ead7;
left: -12px;
}
</style>
<script type="text/javascript">
window.οnlοad=function(){
var oDiv=document.getElementById("pic");
var oImg = oDiv.getElementsByTagName('img')[0];
var oUl = oDiv.getElementsByTagName('ul')[0];
var aLi=oUl.getElementsByTagName('li');
var oPrev=document.getElementById("prev");
var oNext=document.getElementById("next");
var oP=document.getElementById("p1");
var oStrong=document.getElementById("strong1");
var arrUrl=['images/1.jpg', 'images/2.jpg', 'images/3.jpg', 'images/4.jpg' ];
var arrText=['文字一', '文字二', '文字三', '文字四'];
var num=0;
for(var i=0;i<arrUrl.length;i++){
oUl.innerHTML+='<li></li>';                                                                   //根据图片的多少创建多少个<li> 标签
}
//创建了一个函数,因为多次被调用相同的代码,所以用函数将代码存在一起,减少代码冗余
function fnTab(){
oStrong.innerHTML=num+1+'/'+arrText.length;
oP.innerHTML=arrText[num];
oImg.src=arrUrl[num];
for(var i=0;i<aLi.length;i++){                                                         //所先将所有的li标签的样式全部清空,当前添加
aLi[i].className='';
}
aLi[num].className = 'active';
}
fnTab();//调用函数进行初始化
oPrev.οnclick=function(){
num --;
if( num == -1 ){
num = arrText.length-1;
}
fnTab();
};
oNext.οnclick=function(){
num ++;
if( num == arrText.length){
num = 0;
}
fnTab();
};

for( var i=0; i<aLi.length; i++ ){
aLi[i].index = i;                               // 索引值:让每一li的值与i的值对应相等;如果直接使用 i那么里面的匿名函数的i将会一直等于3;
aLi[i].onclick = function (){
num=this.index;                             //alert(i) i=3;
fnTab();
}
aLi[i].onmouseover = function (){
aLi[this.index].innerHTML = '<img class="mini" src="' + arrUrl[this.index] + '" />';
}
aLi[i].οnmοuseοut=function(){
aLi[this.index].innerHTML = '';
}
}
/*setInterval()是指间歇调用,他接受两个参数,要执行的代码(字符串或者函数)和每次需要执行之前需要等待的毫秒数
1秒等于1000毫秒
clearInterval( )是用来取消尚未执行的间歇调用;*/
var timer;
function time(){
clearInterval(timer);
timer=setInterval(function() {
num++;
if (num==aLi.length) {
num=0;
};
fnTab();
},3000);
}
time();

 

}

 

</script>

</head>
<body>
<div id="pic">
<a id="prev" href="javascript:;"> < </a>
<a id="next" href="javascript:;"> > </a>
<p id="p1">图片文字加载中……</p>
<strong id="strong1">图片数量计算中……</strong>
<img id="img1" />
<ul>
</ul>
</div>

</body>

</html>

转载于:https://www.cnblogs.com/15fj/p/7202565.html

你可能感兴趣的文章
经验总结 - 20111115
查看>>
(servlet页面跳转没有反应)
查看>>
JDK安装与环境变量配置
查看>>
【动态规划】skiing
查看>>
USB2.0的鸡血补丁
查看>>
java定时器的使用(Timer)
查看>>
Cocos2d-x官方在线视频-Cocos2d-x3.2《2048》手游开发揭秘
查看>>
转载---SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除...
查看>>
[转载]马士兵Java视频教程 —— 学习顺序
查看>>
合唱队(华为OJ)
查看>>
Reverse Words in a String III
查看>>
静态页面复习--用semantic UI+网格+卡片实现图片布局
查看>>
数据库交互之减少IO次数
查看>>
8天玩转并行开发——第一天 Parallel的使用
查看>>
Http通讯协议在.net下的实现方法
查看>>
leaflet与ECharts的统计图表
查看>>
print横向打印数据
查看>>
mq_overview(7)
查看>>
Eclipse pydev 装不上的原因 安装错误
查看>>
bzoj 2091: [Poi2010]The Minima Game【博弈论+贪心+dp】
查看>>