本代码来自于懒人图库,本站只是对其代码进行分析并解释,并标注了源代码的来源,本次是对纵向的相册效果进行分析.
注明:源文件来源于懒人图库(便于代码简洁,去除了部分懒人的ad)
<!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>
<head>
<meta http-equiv=content-type content=text/html; charset=gb2312 />
<title>纵向的js相册效果</title>
<style>
body {background:#000000;margin:20px 0;font:12px verdana, arial, tahoma;text-align:center;vertical-align:middle;color:#ffffff}
img {border:none}
.txt_1 {font:bold 24px verdana, tahoma;color:#fff}
img.thumb_img {cursor:pointer;display:block;margin-bottom:10px}
img#main_img {cursor:pointer;display:block;}
#gotop {cursor:pointer;display:block;}
#gobottom {cursor:pointer;display:block;}
#showarea {height:355px;margin:10px;overflow:hidden}
.info {color:#666;font:normal 9px verdana;margin-top:20px}
.info a:link, .info a:visited {color:#666;text-decoration:none}
.info a:hover {color:#fff;text-decoration:none}
</style>
</head>
<body>
<table width=760 border=0 align=center cellpadding=0 cellspacing=5>
<tr>
<td height=75 colspan=2 align=left class=txt_1>纵向的js相册效果</td><!--<网站制作学习网foasp.cn>-->
</tr>
<tr>
<td width=640 align=center><img src=images/03.jpg url width=640 height=400 border=0 id=main_img rel=images/03.jpg link=url /><!--这是展示整个大图--></td>
<td width=110 align=center valign=top>
<img src=images/gotop.gif width=100 height=14 id=gotop /><!--上边的按钮-->
<div id=showarea>
<img src=images/01.jpg width=80 height=50 border=0 class=thumb_img rel=images/01.jpg link=url />
......省略n个图片
<img src=images/02.jpg width=80 height=50 border=0 class=thumb_img rel=images/02.jpg link=url /><!--设置rel后图片可以有link的连接,点击直接跳转-->
</div>
<img src=images/gobottom.gif width=100 height=14 id=gobottom /><!--下边的按钮--></td>
</tr>
</table>
</body>
</html>
<script language=javascript type=text/javascript>
function $(e) {return document.getelementbyid(e);}//定义获取通过对象
document.getelementsbyclassname = function(cl) {//定义document的通过classname来获得对象数组
var retnode = [];//定义空数组
var myclass = new regexp(cl);//通过正则上面传来的cl值来判断对象
var elem = this.getelementsbytagname('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].classname;//如果classname符合正则则添加到定义的空数组
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;//最后返回数组
}
var mymar;
var speed = 1; //速度,越大越慢
var spec = 1; //每次滚动的间距, 越大滚动越快
var ipath = 'images/'; //图片路径
var thumbs = document.getelementsbyclassname('thumb_img');//获取以thumb_img的数组
for (var i=0; i<thumbs.length; i++) {
thumbs[i].onmouseover = function () {$('main_img').src=this.rel; $('main_img').link=this.link;};//循环对对象进行附加事件
thumbs[i].onclick = function () {location = this.link}
}
$('main_img').onclick = function () {window.open(this.link);}//对中间的大图进行附加事件
$('gotop').onmouseover = function() {this.src = ipath + 'gotop2.gif'; mymar=setinterval(gotop,speed);}
$('gotop').onmouseout = function() {this.src = ipath + 'gotop.gif'; clearinterval(mymar);}
$('gobottom').onmouseover = function() {this.src = ipath + 'gobottom2.gif'; mymar=setinterval(gobottom,speed);}
$('gobottom').onmouseout = function() {this.src = ipath + 'gobottom.gif'; clearinterval(mymar);}
function gotop() {$('showarea').scrolltop-=spec;}//设定鼠标移动到上下按钮时,图片的整体滚动<网站制作学习网foasp.cn>
function gobottom() {$('showarea').scrolltop+=spec;}
</script>