相册滚动
来源:互联网 发布:太极服装淘宝 编辑:程序博客网 时间:2024/05/06 12:28
html页面:
解析如下:
HTML页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>Document</title><link rel="stylesheet" type="text/css" href="moveMig.css"/><script type="text/javascript" src="move.js"></script><script type="text/javascript">function getByClass(oParent,sClass){var aEle=oParent.getElementsByTagName('*');var aResult=[];for(var i=0;i<aEle.length;i++){if(aEle[i].className==sClass){aResult.push(aEle[i]);}}return aResult;} window.onload=function(){ var oDiv=document.getElementById('playimages'); var oBtnPrev=getByClass(oDiv,'prev')[0];/*上一个按钮*/ var oBtnNext=getByClass(oDiv,'next')[0]; var oMarkLeft=getByClass(oDiv,'mark_left')[0]; var oMarkRight=getByClass(oDiv,'mark_right')[0]; var oDivSmall=getByClass(oDiv,'small_pic')[0]; var oUlSmall=oDivSmall.getElementsByTagName('ul')[0]; var aLiSmall=oDivSmall.getElementsByTagName('li'); var nowZIndex=2;//为了层级的设置 var now=0;/*now记录大图的 */ oUlSmall.style.width=aLiSmall.length*aLiSmall[0].offsetWidth+'px'; var oUlBig=getByClass(oDiv,'big_pic')[0]; var aLiBig=oUlBig.getElementsByTagName('li'); // oMarkLeft.onmouseover=function(){ // startMove(oBtnPrev,100,'opacity'); // }; // oMarkLeft.onmouseout=function(){ // startMove(oBtnPrev,0,'opacity'); // };当进入左边这块时左边按钮显示,出去消失,但有一个小缺点,当鼠标进入到按钮时按钮消失了,所以呀,要按钮也实现左边这块一样的效果 /*左右按钮的实现(使用了运动框架)*/ /*实现左边的效果*/ oBtnPrev.onmouseover=oMarkLeft.onmouseover=function(){ startMove(oBtnPrev,100,'opacity'); }; oBtnPrev.onmouseout=oMarkLeft.onmouseout=function(){ startMove(oBtnPrev,0,'opacity'); }; /*实现右边的效果*/ oBtnNext.onmousemove=oMarkRight.onmousemove=function(){ startMove(oBtnNext,100,'opacity'); }; oBtnNext.onmouseout=oMarkRight.onmouseout=function(){ startMove(oBtnNext,0,'opacity'); }; /*点小图切换大图从上到下拉下来*/ /*给每个小图添加一个onclick事件*/ for(var i=0;i<aLiSmall.length;i++){ aLiSmall[i].index=i;//表示点的是第几张小图 aLiSmall[i].onclick=function(){ if(this.index==now) return; now=this.index; tab(); }; //改变小图的透明度 aLiSmall[i].onmousemove=function(){ startMove(this,100,'opacity'); }; aLiSmall[i].onmouseout=function(){ if(this.index!=now){ startMove(this,60,'opacity'); } }; } function tab(){ aLiBig[now].style.zIndex=nowZIndex++; /*将多有小图都变为0.6透明度*/ for(var i=0;i<aLiSmall.length;i++){ startMove(aLiSmall[i],60,'opacity'); } /*使得当前的小图片透明度为1*/ startMove(aLiSmall[now],100,'opacity');/*让当前的大图从上往下拉*/ aLiBig[now].style.height=0; startMove(aLiBig[now],320,'height'); if(now==0){/*第一张代码处理*/ startMove(oUlSmall,0,'left'); }else if(now==aLiSmall.length-1){/*最后一张处理*/ startMove(oUlSmall,-(now-2)*aLiSmall[0].offsetWidth,'left'); }else{/*处于第一张和最后一张的处理方式*/ startMove(oUlSmall,-(now-1)*aLiSmall[0].offsetWidth,'left'); } } oBtnPrev.onclick=function(){ now--; if(now==-1){ now=aLiSmall.length-1; } tab(); }; oBtnNext.onclick=function(){ now++; if(now==aLiSmall.length){ now=0; } tab(); }; var timer=setInterval(oBtnNext.onclick,2000); oDiv.onmousemove=function(){ clearInterval(timer); }; oDiv.onmouseout=function(){ timer=setInterval(oBtnNext.onclick,2000); }; };</script></head><body><div id="playimages" class="play"><ul class="big_pic"><div class="prev"></div><div class="next"></div><div class="text">加载图片说明.....</div> <div class="length">计算图片数量.....</div> <a class="mark_left" href="javascript:;"></a> <a class="mark_right" href="javascript:;"></a> <div class="bg"></div> <li style="z-index:1;"><img src="../img/22.jpg"/></li> <li><img src="../img/23.jpg"/></li> <li><img src="../img/24.jpg"/></li> <li><img src="../img/lz4.jpg"/></li> <li><img src="../img/26.jpg"/></li> <li><img src="../img/27.jpg"/></li></ul><div class="small_pic"><ul style="width:390px;"> <li style="opacity:1;"><img src="../img/22.jpg"/></li> <li><img src="../img/23.jpg"/></li> <li><img src="../img/24.jpg"/></li> <li><img src="../img/lz4.jpg"/></li> <li><img src="../img/26.jpg"/></li> <li><img src="../img/27.jpg"/></li></ul></div></div></body></html>css文件代码:
body{background: #666;}ul{padding: 0;margin: 0;}li{outline-style: none;}/*属性用于设置元素的整个轮廓的样式。样式不能是 none,否则轮廓不会出现。*/img{border: 0;}/*大相框*/.play{width: 400px;height: 430px;margin: 50px auto;background: #999;font: 12px Arial;}.big_pic{width: 400px;height: 320px;overflow: hidden;border-bottom: 1px solid #ccc;background: #222;position: relative;}.big_pic img{width: 400px;height: 320px;}.big_pic li{width: 400px;height: 320px;overflow: hidden;position: absolute;top: 0;left: 0;z-index: 0;background: url(../img/22.jpg)no-repeat center center;}.mark_left{width: 200px;height: 320px;position: absolute;left: 0;top: 0;background: red;opacity: 0;z-index: 3000;}.mark_right{width: 200px;height: 320px;position: absolute;left: 200px;top:0;background: green;opacity: 0;z-index: 3000;}.big_pic .prev{width: 60px;height: 60px;background: url(../img/btn.gif)no-repeat;position: absolute;top: 130px;left: 10px;z-index: 3001;opacity: 0;cursor: pointer;/*意思就是鼠标指针变成 手 的形状,和放到链接上面的鼠标指针一样。*/}.big_pic .next{width: 60px;height: 60px;background:url(../img/btn.gif)no-repeat;position: absolute;top: 130px;right: 10px;z-index: 3001; -moz-transForm:scaleX(-1);/*将图片翻转过来*/ -webkit-transform:scaleX(-1); -o-transform:scaleX(-1); transform:scaleX(-1);opacity: 0;cursor: pointer;}.big_pic .text{position: absolute;left: 10px;top: 302px;z-index: 3000;color: #ccc;}.big_pic .length{position: absolute;right: 10px;bottom: 4px;z-index: 3000;color: #ccc;}.big_pic .bg{width: 400px;height: 25px;background: #000;opacity: 0.6;position: absolute;z-index: 2999;bottom: 0;left: 0;}.small_pic{width: 380px;height: 94px;position: relative;top: 7px;left: 10px;overflow:hidden;}.small_pic ul{height: 94px;position: absolute;top: 0;left: 0;}.small_pic li{width: 120px;height: 94px;float: left;padding-right:10px;background: url(../img/lz4.jpg)no-repeat center center; cursor: pointer;opacity: 0.6;}.small_pic img{width: 120px;height: 94px;}
js文件代码:
function getstyle(obj,name){if(obj.currentStyle){/*这个是针对IE 浏览器的(获取外部样式)*/return obj.currentStyle[name];}else{return getComputedStyle(obj,false)[name];/*这个是针对火狐浏览器的(获取 外部样式)*/}} function startMove(obj,iTraget,arr){ clearInterval(obj.timer); obj.timer=setInterval(function(){ var cur=0; if(arr=='opacity'){ cur=Math.round(parseFloat(getstyle(obj,arr))*100); }else{ cur=parseInt(getstyle(obj,arr)); } var speed=(iTraget-cur)/6; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(cur==iTraget){ clearInterval(obj.timer); }else{ if(arr=='opacity'){ obj.style[arr]=(cur+speed)/100; var otxt=document.getElementById('txt1'); otxt.value=obj.style[arr]; }else{ obj.style[arr]=cur+speed+'px'; } } },30); }
0 0
- 滚动相册
- 相册滚动
- UI_无限滚动相册
- 实现滚动相册效果
- Unity相册滚动效果
- 自动滚动相册小程序
- UIScrollView的循环滚动相册
- UI06_无限滚动的相册
- 相册,循环滚动,可缩放
- 相册图片头尾相接的滚动算法
- Lightbox相册,图片滚动和点击放大
- [NGUI]用SrollViewPanel实现相册的滚动。
- 无限滚动相册切换swift版
- iOS 无线滚动相册之scrollView
- 06_无限滚动的相册
- 使用viewFilpper,实现左右滚动的相册
- 仿时光相册里列表滚动条
- flex 做的小相册+向上滚动字体
- Problem C: 顺序表基本运算(线性表)
- 第四周项目3-随机函数应用于游戏
- Problem K
- myBatis初探
- Nginx 运行 Laravel5.0+
- 相册滚动
- 全排列permutation
- Patchwork & Quilting(拼布和绗缝)
- 解决Xcode 9.3系统真机测试时出现 could not find developer disk image问题
- Coursera第一周第六节
- 浏览器,数据库的编码问题
- 第四周项目(3)-小学生算数能力测试系统
- JQuery 怎么加载外部 CSS、JS 文件
- 闭包的返回值和参数