<!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=utf-8" />
<title>图片幻灯特效</title>
<script type="text/javascript">
function Na(){
this.shwNaNa={//图片焦点轮显
boxWidth:750,boxHeight:350,imgSrc:"",imgLink:"",imgTitle:"",btnWidth:25,btnHeight:22,btnBoxRight:10,btnBoxBottom:20,btnFontSize:10,btnBgColor:"#666",btnMouseOverBgColor:"#939",btnFontColor:"#fff",btnMouseOverFontColor:"#fff",$:function(id){return document.getElementById(id)},
//参数分割使用@
start:function(){
if(this.imgSrc==""){alert('请设置图片参数!');return;};
if(isNaN(this.boxWidth)||isNaN(this.boxHeight)||isNaN(this.btnWidth)||isNaN(this.btnHeight)||isNaN(this.btnBoxRight)||isNaN(this.btnBoxBottom)||isNaN(this.btnFontSize)){alert('宽度大小类参数设置错误,请设置纯数字!');return;}
document.write("<div id=\"naBOX\" style=\"position:absolute;border:#efefef 1px solid;background-color:#fff;width:"+this.boxWidth+"px; height:"+this.boxHeight+"px;overflow:hidden;\"><div id=\"naPicBox\"></div><div id=\"naTitle\"></div><div id=\"naLinka\" style=\" position:absolute; right:"+this.btnBoxRight+"px; bottom:"+this.btnBoxBottom+"px;\"></div></div>");
var objImgBox=this.$("naPicBox");
var objTitle=this.$("naTitle");
var objLink=this.$("naLinka");
var allImgs=this.imgSrc.split("@");
var allLinks=objLink.getElementsByTagName("a");
var imgLinks=this.imgLink.split("@");
var parentObj=this;
//根据图片数量初始化按钮与图片
for(var i=0;i<allImgs.length;i++){
objLink.innerHTML+="<a style='float:left; font-family:Arial, Helvetica, sans-serif;font-size:"+this.btnFontSize+"px;margin-left:2px;background-color:"+this.btnBgColor+"; border:#efefef 1px solid; color:"+this.btnFontColor+";text-decoration:none;width:"+this.btnWidth+"px;height:"+this.btnHeight+"px; text-align:center;line-height:"+this.btnHeight+"px;' href='javascript:void(0)'>"+(i+1)+"</a>";
objImgBox.innerHTML+=((i<imgLinks.length&&imgLinks.length>0&&imgLinks[0]!="")?"<a id='a"+i+"' style='display:none;' href='"+imgLinks[i]+"' target='_blank'><img style='border:none;' src='"+allImgs[i]+"' /></a>":"<img id='a"+i+"' style='display:none;border:none;' src='"+allImgs[i]+"' />");
}
objImgBox.innerHTML+="<span id='tmsg' style=\"float:left;margin:20px;color:333\"></span>";
var msg=this.$("tmsg");
//创建可控的全局变化时钟操作函数
clockPlay(0);
var sPo=null;
var ImgNext=null;
var gi=0;
var ss=0;
var loadedImg="";
var isLoading=false;//加载程序是否正在运行
function clockPlay(imgId){
if(imgId==allImgs.length)imgId=0;
var test=setInterval(tt,100);
if(ImgNext!=null)clearTimeout(ImgNext);
function tt(){
if(checkImgLoaded(imgId)){//检查图片是否已加载,如已加载过就显示
isLoading=false;//开户下一张图片的加载许可
msg.style.display="none";
sImg(imgId);
rColorBtn(imgId);
if(ss==0)ImgNext=setTimeout(function(){clockPlay((parseInt(imgId)+1))},5000);
clearInterval(test);
}else{
if(isLoading==false)LoadImg(imgId);//加载图片
isLoading=true;//图片正在加载
msg.style.display="";
msg.innerHTML="正在加载图片......";
}
for(var i=0;i<allLinks.length;i++){
allLinks[i].οnmοuseοver=function(){
clockPlay(parseInt(this.innerHTML)-1);
ss=1;
}
allLinks[i].οnmοuseοut=function(){
ss=0;
ImgNext=setTimeout(function(){clockPlay((parseInt(imgId)+1))},5000);}
}
}
}
function rColorBtn(id){
var a=objLink.getElementsByTagName("a");
for(var i=0;i<a.length;i++){
a[i].style.backgroundColor=parentObj.btnBgColor;
a[i].style.color=parentObj.btnFontColor;
}
a[id].style.backgroundColor=parentObj.btnMouseOverBgColor;
a[id].style.color=parentObj.btnMouseOverFontColor;
}
function sImg(id){
if(sPo!=null)try{clearInterval(sPo)}catch(e){};
var imgs=objImgBox.getElementsByTagName("img");
for(var i=0;i<imgs.length;i++){
if(i!=id){document.getElementById("a"+i).style.display="none"}else{document.getElementById("a"+i).style.display=""}
}
gi=0;
var objImg=document.getElementById("a"+id);
objImg.style.filter="alpha(opacity="+gi+");";
objImg.style.opacity=gi/100;
sPo=setInterval(gPo,30);
function gPo(){
gi=gi+5;
objImg.style.filter="alpha(opacity="+gi+");";
objImg.style.opacity=gi/100;
if(gi>99)clearInterval(sPo);
}
}
function checkImgLoaded(imgId){
return loadedImg.indexOf(allImgs[imgId])>-1?true:false;
}
function LoadImg(imgId){//图片加载程序
var img=new Image();
img.src=allImgs[imgId];
if(img.complete==true){isLoading=false;loadedImg+=allImgs[imgId];}else{img.onload = function(){img.οnlοad=null;isLoading=false;loadedImg+=allImgs[imgId];}}
}
}
}
}
</script>
</head>
<body>
<script type="text/javascript">
var myNa=new Na();
myNa.shwNaNa.imgSrc="/jscss/demoimg/wall1.jpg@/jscss/demoimg/wall2.jpg@jscss/demoimg/wall3.jpg";
myNa.shwNaNa.imgLink="@";//每张图片对应的链接,@分开,不链保持为空就可
myNa.shwNaNa.boxWidth=560;
myNa.shwNaNa.boxHeight=392;
myNa.shwNaNa.start();
</script>
</body>
</html>
js轮显代码
最新推荐文章于 2024-01-23 15:34:04 发布