修改的广告图片轮播效果,可作为在线图片浏览器。

来源:互联网 发布:python 符号替换 编辑:程序博客网 时间:2024/06/12 01:40

早就发现现在好多新闻网站的最新动态都采用图片轮播的效果,由于比较懒,没有仔细的研究过。

这几天闲着没事,弄下来分析了分析。

以下是从中关村在线网站上取下来的,请看:

<!-- js多图切换 -->
<SCRIPT language="JavaScript">
 function playTran()
 {
  if (document.all)
  imgInit.filters.revealTrans.play();
 }

 function nextAd()
 {
  if(adNum<j)
  adNum++;
  else
   adNum=1;
  if( key==0 )
  {
   key=1;
  }
  else if (document.all)
  {
   imgInit.filters.revealTrans.Transition=10;
  imgInit.filters.revealTrans.apply();
   playTran();
  }
  imgInit.src=imgUrl[adNum];
  theTimer=setTimeout('Sword()', 500);
  theTimer=setTimeout("nextAd()", 6000);
}

function goUrl()
{
  jumpUrl=imgLink[adNum];
  jumpTarget='_blank';
  if (jumpUrl != '')
  {
   if (jumpTarget != '')
    window.open(jumpUrl,jumpTarget);
   else
     location.href=jumpUrl;
  }
}

function Sword()
{
  showword.innerHTML=imgWord[adNum];
}

/* 预读取图片 */
function preloadPic()
{
 imgInit.src=imgUrl[1];
  if (document.all)
 {
  var imgPreload = new Image();
  for (i=0; i<imgUrl.length; i++)
  {
   imgPreload.src = imgUrl[i]
  }
 }
 else
 {
  theTimer = setTimeout("preloadPic()",50);
 }
}
</SCRIPT>

<A href="javascript:goUrl()" target=_self>
<IMG style="FILTER: revealTrans(duration=1,transition=5); src="javascript:void(null)" id="imgInit">
</A>

<BR>

<SPAN id=showword style="COLOR: red" width="252">
</SPAN>

<script>
 var imgUrl=new Array();
 var imgLink=new Array();
 var imgWord=new Array();
 adNum=0;
/* 图片地址,信息 数组 */
 imgUrl[1] ="images/1.jpg";
 imgLink[1] ="#";
 imgWord[1] ="<a href='http://www.myhon.cn/images/kang1.jpg' target='_blank'>1</a>";
 imgUrl[2] ="images/2.jpg";
 imgLink[2] ="#";
 imgWord[2] ="<a href='http://www.myhon.cn/images/2.jpg' target='_blank'>2</a>";

 var count=2;
 var imgPre=new Array();

/* 计算有效的轮播图片个数 j */
 var j=0;
 for (i=1;i<count;i++)
 {
   if( (imgUrl[i]!='') && (imgLink[i]!='') )
 {
    j++;
    }
 else
 {
  break;
 }
 }
/* 计算有效的轮播图片个数 j 结束  */
 var key=0;
 var imgInit = document.getElementById('imgInit');
 var showword = document.getElementById('showword');
 preloadPic();
 nextAd();
</script>  
<!--js多图切换结束-->

其实仔细看看也不难,原理就是用:JS实现图片地址和对应信息的轮换。

完全可以利用它做一个图片浏览程序,思路是这样的:
图片的地址和图片的信息用ASP的FSO实现采用动态采集,这样的话,就只管往目录里传图片,通过ASP和JAVASCRIPT的结合 就可实现目录内图片的轮播。

实现代码如下:

<%
function folderList(path)
    dim fso
    dim tmpFolderStr
    tmpFolderStr=""
    set fso=server.CreateObject("scripting.filesystemobject")
    'on error resume next
    set objFolder=fso.GetFolder(path)
    set objSubFolders=objFolder.Subfolders
    for each objSubFolder in objSubFolders
        'Response.Write objSubFolder.name
        tmpFolderStr=tmpFolderStr + objSubFolder.name + "|"
    next
    set objFolder=nothing
    set objSubFolders=nothing
    set fso=nothing
    folderList=tmpFolderStr
end function
'=================================================================
function fileList(path)
    dim fso
    dim tmpFileListStr
    set fso=server.CreateObject("scripting.filesystemobject")
    'on error resume next
    set objFolder=fso.GetFolder(path)
    set objFiles=objFolder.Files
        for each objFile in objFiles
            'Response.Write " ---"
            'Response.Write objFile.name
            'response.write objFile.type
            tmpFileListStr=tmpFileListStr + objFile.name + "|"
        next
        'Response.Write "<p>"
    set objFiles=nothing
    set objFolder=nothing
    set fso=nothing
    fileList=left(tmpFileListStr,len(tmpFileListStr)-1)
end function

'==================================================================
sub showFolder()
    dim folderArr,i
    folderArr = Split(folderlist(server.mappath("./")),"|")
    For i = Lbound(folderArr) to Ubound(folderArr)
        Response.Write "<a href=?folderName=" & folderArr(i) & ">" & folderArr(i) & "</a><br><br>"
    Next
end sub

'==================================================================

sub rotateImg()
    dim fileArr,folderName
    folderName=trim(request.querystring("folderName"))
    fileArr = Split(filelist(server.mappath("./") + "/" & folderName),"|")
%>
<script language="javascript">
 function playTran()
 {
  if (document.all)
  imgInit.filters.revealTrans.play();
 }

 function nextAd()
 {
  if(adNum<j)
  adNum++;
  else
   adNum=1;
  if( key==0 )
  {
   key=1;
  }
  else if (document.all)
  {
   imgInit.filters.revealTrans.Transition=10;
  imgInit.filters.revealTrans.apply();
   playTran();
  }
  imgInit.src=imgUrl[adNum];
  theTimer=setTimeout('Sword()', 500);
  theTimer=setTimeout("nextAd()", 6000);
}

function goUrl()
{
  jumpUrl=imgUrl[adNum];
  jumpTarget='_blank';
  if (jumpUrl != '')
  {
   if (jumpTarget != '')
    window.open(jumpUrl,jumpTarget);
   else
     location.href=jumpUrl;
  }
}

function Sword()
{
  showword.innerHTML=imgUrl[adNum];
}

/* 预读取图片 */
function preloadPic()
{
 imgInit.src=imgUrl[1];
  if (document.all)
 {
  var imgPreload = new Image();
  for (i=0; i<imgUrl.length; i++)
  {
   imgPreload.src = imgUrl[i]
  }
 }
 else
 {
  theTimer = setTimeout("preloadPic()",50);
 }
}
</script>

<div>
<a href="javascript:history.back(-1)">返 回</a><br/><br/>
</div>

<A href="javascript:goUrl()" target=_self>
<IMG style="FILTER: revealTrans(duration=1,transition=5); border:0px; src="javascript:void(null)" id="imgInit">
</A>

<BR>

<SPAN id=showword style="COLOR: red" width="252">
</SPAN>

<script>
 var imgUrl=new Array();
 var imgLink=new Array();
 var imgWord=new Array();
 adNum=0;
 var count=<%=Ubound(fileArr)+1%>;
<%For i = Lbound(fileArr)+1 to Ubound(fileArr)+1%>
      imgUrl[<%=i%>]="<%=folderName+"/"+fileArr(i-1)%>";
<%Next%>
 var imgPre=new Array();

/* 计算有效的轮播图片个数 j */
 var j=0;
 for (i=1;i<=count;i++)
 {
   if(imgUrl[i]!='')
 {
    j++;
    }
 else
 {
  break;
 }
 }
/* 计算有效的轮播图片个数 j 结束  */
 var key=0;
 var imgInit = document.getElementById('imgInit');
 var showword = document.getElementById('showword');
 preloadPic();
 nextAd();
</script>  
<!--js多图切换结束-->
<%
end sub
'================================================================
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="myhon,王向超" />
<meta name="copyright" content="www.myhon.cn" />
<link rel="icon" href="myhon.ico" _fcksavedurl=""myhon.ico"" _fcksavedurl=""myhon.ico"" type="image/x-icon" />
<link rel="stylesheet" href="style.css" />
<title>::www.myhon.cn 图片列表程序::</title>
</head>
<body>
<div id="header">图片列表程序</div>
<div id="content"><br/>
<%
if trim(request.querystring("folderName"))="" then
    call showFolder()
else
    call rotateImg()
end if
%>
</div>
<div id="footer">CopyRight:www.myhon.cn</div>
</body>
</html>

 演示地址:http://www.myhon.cn/myphoto/

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 塑料杯盖滑丝了怎么办 洗衣机上的订子很难扭出来怎么办 滚筒洗衣机坏了打不开门怎么办 海尔滚筒洗衣机打不开门怎么办 格兰仕滚筒洗衣机门打不开怎么办? lg洗衣机洗完衣服门打不开怎么办 lg洗衣机不能冼衣服怎么办 vivo账户密码忘记了怎么办 oppo账户密码忘记了怎么办 74160从1开始计数怎么办 微信录音声音小怎么办 word文档已停止工作怎么办 怀孕30天不想要怎么办 一楼墙体起碱怎么办 农村平房顶四墙面渗水怎么办 被蝎子精蛰了怎么办 小娃头摔包要怎么办抹个什么 老人死了银行钱存死期怎么办 飙酷车神2一进画面就闪退怎么办 电脑开机键盘鼠标没反应怎么办 玩gta4自由城卡怎么办 gta5游戏服务当前不可用怎么办 健身后胳膊变粗怎么办 健身后手臂变粗怎么办 家猫见到我就跑怎么办 走路多了小腿酸痛怎么办 脚有脚气很痒怎么办 地板精油喷多了怎么办 史莱姆泥变硬了怎么办 dnf剑帝命中率低怎么办 无意中讲话伤害了人怎么办 高中上不下去了怎么办 高三坚持不下去怎么办 word点了不保存怎么办 做了ppt没保存怎么办 中班安全教案迷眼了怎么办 美的空调尘满怎么办 高考报名系统密码忘记怎么办 高考理综8题怎么办 高三了语文很差怎么办 高三了语文成绩差怎么办