JavaScript相册预览

直接上代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>相册</title>
<script type = "text/javascript">
         //记录<img>对象的数组
		 var images = [];
		 //初始化事件处理函数
		 function initdsy () {
                //所有的<img>元素
				alert('44');
				 var imgArr= document.getElementsByTagName("img");
                 for(var i=0;i<imgArr.length;i++){
                 //找到所有class=img的<img>元素
				 if(imgArr[i].className=="img"){
                    //保存在imgages数组中
					images.push(imgArr[i]);
					//添加mouseover事件处理函数
					addEventListener(imgArr[i],"mouseover",handleEvent);
				   }
				 }
		    }

			//添加事件处理函数
			function addEventListener(ele,type,func){

              //DOM兼容浏览器
			  if(ele.addEventListener){

               ele.addEventListener(type,func,false);
			  }else  {//IE
                  
                ele.attachEvent("on" + type,func);
			    }
			}

		//	在mouseover事件的处理函数handleEvent中找到图片位置,显示该图片。
             function handleEvent(evt) {
               //事件对象
			   var event = window.event ? window.event : evt;

			   //事件源:预览图对象
			   var target =event.target ? event.target : event.srcElement;

			   //找到当前图片的位置

			   for(var i = 0;i <images.length;i++){

                 if(images[i] ==target)  break;
			   }

			   //200ms延时之后显示该图片
			   setTimeout(function (){
			   
			   go(i);
			   }, 200);
			 }


		   function go(i) {

			 $("showpic").src=images[i].src;

			 $("show").style.display = "";

			 var next =(i+1)%images.length;
			 // alert(i+'ss');
			 var prev=(i-1+images.length)%images.length;

			// alert(prev+'prev');
			// alert(next+'next');

			 $("prev").onclick = function(){
			 setTimeout(function (){
			//     alert("111");
			    go(prev);
			 },200);
              
			 };

			 //设置"下一张"按钮的事件处理函数
			 $("next").onclick = function(){
			 //200ms之后切换到下一张图片
			 setTimeout(function () {
			 //alert("111");
			 go(next);
			 },200);
			 };

            }

			function $(id){

             return document.getElementById(id);
			}

			//隐藏大图显示区域
			function hide() {

            $("show").style.display="none";
			}

		 </script>
       <style type="text/css">
           * {
              Font-family:Tahoma;
              Font-size:12pt;
              Text-align:center;
              Margin:0 auto;
             }
         Body{
              Margin:10px;
             }
          .img{
              Height:80px;
              Cursor:pointer;
			  margin:0;
              }
		#gallary{
              float:left;
			  height:80px;
			  Text-align:center;
		   }
		 .bdr {
               border-top:4px dashed;
			   border-bottom:4px dashed;
			   clear:both;
		    }
         #show {
                position:absolute;
				top:200px;
				left:250px;
				backgrond-color:#313131;
				padding:10px 10px 10px 10px;
		 }
		 #showpic{
              cursor:pointer;   
              margin-bottom:5px;
		 }
		 #prev,#next {
              cursor:pointer;
              color:#111111;
              font-weight:bold;
		 }
		 </style>
		 </head>
		 <body οnlοad="initdsy()">
		 <div class="bdr">
		 </div>
		 <div id="gallay">
		 <img class="img" src="pic1.jpg" alt="pic1">
		 <img class="img" src="pic2.jpg" alt="pic2">
		 <img class="img" src="pic3.jpg" alt="pic3">
		 <img class="img" src="pic4.jpg" alt="pic4">
		 <img class="img" src="pic5.jpg" alt="pic5">
		 </div>
		 <div class="bdr">
		 </div>
		 <div id="show" style="display:none">
		 <img id="showpic"src="" alt="" οnclick="hide()" />
		 <div>
		 <span id="prev">上一张</span>
		 <span id="next">下一张</span> 
		 </div>
		 </div>
		 
		 </body>

		 
		 </html>

 go(i)的作用是切换到第i张图片,该函数还负责设置"上一张"。"下一张"按钮的click事件处理函数

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章