Skip Navigation Links
技术文档
·网站建设
·软件使用
·图形设计
·程序开发
·网络应用
·电脑技巧
 
公司介绍
·公司简介
·索仕SRCOS网络应用平台
·索仕网站管理系统
·影视广告制作
·联系我们
 
 

AJAX 动态图片幻灯片

7/1/2008 10:11:35 PM

   大家经常在一些项目中使用产品图片演示,使用的最多的也许就是JQuery的插件了,今天我也上传一个我经常使用的产品演示插件,写的非常简洁很实用的,希望大家喜欢,以下是产品的Demo截图与Demo文件下载地址:
slideshow.zip

AJAX 动态图片幻灯片

 

AJAX 动态图片幻灯片<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
AJAX 动态图片幻灯片
<html xmlns="http://www.w3.org/1999/xhtml">
AJAX 动态图片幻灯片
<head>
AJAX 动态图片幻灯片
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
AJAX 动态图片幻灯片
<title>AJAX Photo Gallery</title>
AJAX 动态图片幻灯片
<link rel="stylesheet" type="text/css" href="style.css" />
AJAX 动态图片幻灯片
</head>
AJAX 动态图片幻灯片
<body>
AJAX 动态图片幻灯片
AJAX 动态图片幻灯片
<div id="gallery">
AJAX 动态图片幻灯片  
<div id="imagearea">
AJAX 动态图片幻灯片    
<div id="image">
AJAX 动态图片幻灯片      
<href="javascript:slideShow.nav(-1)" class="imgnav " id="previmg"></a>
AJAX 动态图片幻灯片      
<href="javascript:slideShow.nav(1)" class="imgnav " id="nextimg"></a>
AJAX 动态图片幻灯片    
</div>
AJAX 动态图片幻灯片  
</div>
AJAX 动态图片幻灯片  
<div id="thumbwrapper">
AJAX 动态图片幻灯片    
<div id="thumbarea">
AJAX 动态图片幻灯片      
<ul id="thumbs">
AJAX 动态图片幻灯片        
<li value="1"><img src="thumbs/1.jpg" width="179" height="100" alt="" /></li>
AJAX 动态图片幻灯片        
<li value="2"><img src="thumbs/2.jpg" width="179" height="100" alt="" /></li>
AJAX 动态图片幻灯片        
<li value="3"><img src="thumbs/3.jpg" width="179" height="100" alt="" /></li>
AJAX 动态图片幻灯片        
<li value="4"><img src="thumbs/4.jpg" width="179" height="100" alt="" /></li>
AJAX 动态图片幻灯片        
<li value="5"><img src="thumbs/5.jpg" width="179" height="100" alt="" /></li>
AJAX 动态图片幻灯片      
</ul>
AJAX 动态图片幻灯片    
</div>
AJAX 动态图片幻灯片  
</div>
AJAX 动态图片幻灯片
</div>
AJAX 动态图片幻灯片
<script type="text/javascript">
AJAX 动态图片幻灯片
var imgid = 'image';
AJAX 动态图片幻灯片
var imgdir = 'fullsize';
AJAX 动态图片幻灯片
var imgext = '.jpg';
AJAX 动态图片幻灯片
var thumbid = 'thumbs';
AJAX 动态图片幻灯片
var auto = true;
AJAX 动态图片幻灯片
var autodelay = 5;
AJAX 动态图片幻灯片
</script>
AJAX 动态图片幻灯片
<script type="text/javascript" src="slide.js"></script>
AJAX 动态图片幻灯片
AJAX 动态图片幻灯片
</body>
AJAX 动态图片幻灯片
</html>


 

var slideShow=function(){
AJAX 动态图片幻灯片    
var bxs,bxe,fxs,fxe,ys,ye,ta,ia,ie,st,ss,ft,fs,xp,yp,ci,t,tar,tarl;
AJAX 动态图片幻灯片    ta
=document.getElementById(thumbid); ia=document.getElementById(imgid);
AJAX 动态图片幻灯片    t
=ta.getElementsByTagName('li'); ie=document.all?true:false;
AJAX 动态图片幻灯片    st
=3; ss=3; ft=10; fs=5; xp,yp=0;
    
return{
        init:
function(){
            document.onmousemove
=this.pos; window.onresize=function(){setTimeout("slideShow.lim()",500)};
AJAX 动态图片幻灯片            ys
=this.toppos(ta); ye=ys+ta.offsetHeight;
AJAX 动态图片幻灯片            len
=t.length;tar=[];
            
for(i=0;i<len;i++){
AJAX 动态图片幻灯片                
var id=t[i].value; tar[i]=id;
AJAX 动态图片幻灯片                t[i].onclick
=new Function("slideShow.getimg('"+id+"')");
                
if(i==0){this.getimg(id)}
AJAX 动态图片幻灯片            }

AJAX 动态图片幻灯片            tarl
=tar.length;
AJAX 动态图片幻灯片        }
,
        scrl:
function(d){
AJAX 动态图片幻灯片            clearInterval(ta.timer);
AJAX 动态图片幻灯片            
var l=(d==-1)?0:(t[tarl-1].offsetLeft-(ta.parentNode.offsetWidth-t[tarl-1].offsetWidth)+10)
            ta.timer
=setInterval(function(){slideShow.mv(d,l)},st);
AJAX 动态图片幻灯片        }
,
        mv:
function(d,l){
AJAX 动态图片幻灯片            ta.style.left
=ta.style.left||'0px';
AJAX 动态图片幻灯片            
var left=ta.style.left.replace('px','');
            
if(d==1){
                
if(l-Math.abs(left)<=ss){
AJAX 动态图片幻灯片                    
this.cncl(ta.id); ta.style.left='-'+l+'px';
                }
else{ta.style.left=left-ss+'px'}
            }
else{
                
if(Math.abs(left)-l<=ss){
AJAX 动态图片幻灯片                    
this.cncl(ta.id); ta.style.left=l+'px';
                }
else{ta.style.left=parseInt(left)+ss+'px'}
AJAX 动态图片幻灯片            }

AJAX 动态图片幻灯片        }
,
        cncl:
function(){clearTimeout(ta.timer)},
        getimg:
function(id){
            
if(auto){clearTimeout(ia.timer)}
            
if(ci!=null){
AJAX 动态图片幻灯片                
var ts,tsl,x;
AJAX 动态图片幻灯片                ts
=ia.getElementsByTagName('img'); tsl=ts.length;x=0;
                
for(x;x<tsl;x++){
                    
if(ci.id!=id){var o=ts[x]; clearInterval(o.timer); o.timer=setInterval(function(){slideShow.fdout(o)},fs)}
AJAX 动态图片幻灯片                }

AJAX 动态图片幻灯片            }

            
if(!document.getElementById(id)){
AJAX 动态图片幻灯片                
var i=document.createElement('img');
AJAX 动态图片幻灯片                ia.appendChild(i);
AJAX 动态图片幻灯片                i.id
=id; i.av=0; i.style.opacity=0;
AJAX 动态图片幻灯片                i.style.filter
='alpha(opacity=0)';
AJAX 动态图片幻灯片                i.src
=imgdir+'/'+id+imgext;
            }
else{
AJAX 动态图片幻灯片                i
=document.getElementById(id); clearInterval(i.timer);
AJAX 动态图片幻灯片            }

            i.timer
=setInterval(function(){slideShow.fdin(i)},fs);
AJAX 动态图片幻灯片        }
,
        nav:
function(d){
AJAX 动态图片幻灯片            
var c=0;
            
for(key in tar){if(tar[key]==ci.id){c=key}}
            
if(tar[parseInt(c)+d]){
AJAX 动态图片幻灯片                
this.getimg(tar[parseInt(c)+d]);
            }
else{
                
if(d==1){
AJAX 动态图片幻灯片                    
this.getimg(tar[0]);
                }
else{this.getimg(tar[tarl-1])}
AJAX 动态图片幻灯片            }

AJAX 动态图片幻灯片        }
,
        auto:
function(){ia.timer=setInterval(function(){slideShow.nav(1)},autodelay*1000)},
        fdin:
function(i){
            
if(i.complete){i.av=i.av+fs; i.style.opacity=i.av/100; i.style.filter='alpha(opacity='+i.av+')'}
            if(i.av>=100){if(auto){this.auto()}; clearInterval(i.timer); ci=i}
AJAX 动态图片幻灯片        }
,
        fdout:
function(i){
AJAX 动态图片幻灯片            i.av
=i.av-fs; i.style.opacity=i.av/100;
AJAX 动态图片幻灯片
            i.style.filter='alpha(opacity='+i.av+')';
            
if(i.av<=0){clearInterval(i.timer); if(i.parentNode){i.parentNode.removeChild(i)}}
AJAX 动态图片幻灯片        }
,
        lim:
function(){
AJAX 动态图片幻灯片            
var taw,taa,len; taw=ta.parentNode.offsetWidth; taa=taw/4; 
AJAX 动态图片幻灯片
            bxs=slideShow.leftpos(ta); bxe=bxs+taa; fxe=bxs+taw; fxs=fxe-taa;
AJAX 动态图片幻灯片        }
,
        pos:
function(e){
AJAX 动态图片幻灯片            xp
=ie?event.clientX+document.documentElement.scrollLeft:e.pageX; 
AJAX 动态图片幻灯片            yp
=ie?event.clientY+document.documentElement.scrollTop:e.pageY;
            
if(xp>bxs&&xp<bxe&&yp>ys&&yp<ye){
AJAX 动态图片幻灯片                slideShow.scrl(
-1);
            }
else if(xp>fxs&&xp<fxe&&yp>ys&&yp<ye){
AJAX 动态图片幻灯片                slideShow.scrl(
1);
            }
else{slideShow.cncl()}
AJAX 动态图片幻灯片        }
,
        leftpos:
function(t){
AJAX 动态图片幻灯片            
var l=0;
            
if(t.offsetParent){
                
while(1){l+=t.offsetLeft; if(!t.offsetParent){break}; t=t.offsetParent}
            }
else if(t.x){l+=t.x}
AJAX 动态图片幻灯片            
return l;
AJAX 动态图片幻灯片        }
,
        toppos:
function(t){
AJAX 动态图片幻灯片            
var p=0;
            
if(t.offsetParent){
                
while(1){p+=t.offsetTop; if(!t.offsetParent){break}; t=t.offsetParent}
            }
else if(t.y){p+=t.y}
AJAX 动态图片幻灯片            
return p;
AJAX 动态图片幻灯片        }

AJAX 动态图片幻灯片    }
;
AJAX 动态图片幻灯片}
();
AJAX 动态图片幻灯片
window.onload
=function(){slideShow.init(); slideShow.lim()};

 
本文附件:
slideshow.zip
 
 
 
昆明索仕科技开发有限公司 版权所有 Copyright© 2002-2010 Kunming Source Technology Exploitive Co.,LTD. All Rights Reserved.
电话:0871-5627877 业务QQ:163871 联系我们
本站基于:索仕网站信息管理系统建设 版本 2.0.4325