动态幻灯片效果,我们通常能通过查看源代码文件看到这种效果的代码,一种javascript的代码,能否将图片和图片的连接地址用动态的程序来操作.
首先呢,要书写asp代码片段,范例如下
<%
set rs = server.CreateObject ("adodb.recordset")
sql = "select top 3 * from picnews where ifshow=1"
rs.open sql,conn,1,1
pic1=rs("imgurl")
link1=rs("piclink")
rs.movenext
pic2=rs("imgurl")
link2=rs("piclink")
rs.movenext
link3=rs("picurl")
pic3=rs("imglink")
rs.close
set rs=nothing
%>
该代码片段的作用是用来定义三张图片和三个片对应的连接,比较简单
然后书写javascript代码片段,把三个图片的地址和连接目标用以上的三个变量分别替换出来
<script language=JavaScript>
var imgUrl=new Array();
var imgLink=new Array();
var adNum=0;
imgUrl[1]="<%=pic1%>";
imgLink[1]="<%=link1%>";
imgUrl[2]="<%=pic2%>";
imgLink[2]="<%=link2%>";
imgUrl[3]="<%=pic3%>";
imgLink[3]="<%=link3%>";
var imgPre=new Array();
var j=0;
for (i=1;i<=3;i++) {
if( (imgUrl[i]!="") && (imgLink[i]!="") ) {
j++;
} else {
break;
}
}
function playTran(){
if (document.all){
document.imgInit.filters[0].play();
}
}
function nextAd(){
if(adNum<j)adNum++ ;
else adNum=1;
if (document.all){
document.imgInit.filters[0].Transition=26;
document.imgInit.filters[0].apply();
}
document.images.imgInit.src="/imgUrl[adNum]";
playTran();
theTimer=setTimeout("nextAd()", 4000); //两秒周期 循环调用本身( nextAd() )
}
function goUrl(){
jumpUrl=imgLink[adNum];
jumpTarget='_blank';
if (jumpUrl != ''){
if (jumpTarget != '') //相当于a标签的target属性,如果有指定则新开窗口
window.open(jumpUrl,jumpTarget);
else //没有指定target属性则在本窗口打开
location.href="/jumpUrl";
}
}
</script>
最后一步,就是在需要的位置来调用这个图片效果了
<a href="javascript:goUrl()"><img style="border: 1 solid #000000; padding: 1;FILTER: progid:DXImageTransform.Microsoft.RevealTrans (duration=1,transition=3);
; border-color:#000000;color:#000000;margin-bottom:0px" src="javascript:nextAd()" width="156" height="190" border=0 name=imgInit>
这样,一个动态幻灯片效果就被做出来了!