此效果实现动态地从数据库中获取要轮播的图片信息。
首先数据库里的信息或者新闻表里有要专门的字段来存放图片的地址信息,即在后台发布信息/信息时自动将用户上传的图片获取增加到该字段里,然后还需要设置一个字段,用来标识这记录是否用来显示在flash轮播里。(这里只介绍下思想,实现略)
我的信息表名为:news
用来记录图片地址的字段名:firstImageName
用来标识是否显示在flash轮播的字段名:ok
前台调用代码:
<%
sql="select top 5 * from news where firstImageName<>'' and ok=true order by ID DESC" '从数据库中查找前5条符合条件的记录
set rses=conn.execute(sql)
%>
<script type="text/javascript">
var pics=""; //用来记录图片的地址
var links=""; //用来记录图片的链接
var texts=""; //用来记录播放效果下面的标题提示,即记录的标题
<%
adsi=0 '用来记录实际从数据库中读取的符合条件的记录
do while not rses.eof
adsi=adsi+1
%>
imgUrl<%=adsi%>="UploadFiles/<%=trim(rses("firstImageName"))%>";
imgtext<%=adsi%>="<%=left(rses("title"),12)%>";
imgLink<%=adsi%>=escape("xwxsym/viewnews.asp?id=<%=rses("id")%>");
pics+=imgUrl<%=adsi%>+"|";
links+=imgLink<%=adsi%>+"|";
texts+=imgtext<%=adsi%>+"|";
<%
rses.movenext
loop
%>
if(pics!="" && links!="" && texts!="") //如果有记录,则整理结果,即去掉最后的|
{
pics=pics.substring(0,pics.length-1);
links=links.substring(0,links.length-1);
texts=texts.substring(0,texts.length-1);
}
var focus_width=200 //播放的图片宽度
var focus_height=135 //播放的图片高度
var text_height=18 //显示标题文本的高度
var swf_height = focus_height+text_height //计算播放总共的实际高度
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
width="'+ focus_width +'" height="'+ swf_height +'">');
document.write('<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="focus2.swf"><param name="quality" value="high"><param name="bgcolor" value="#F0F0F0">');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+
'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'">');
document.write('</object>');
</script>
sql="select top 5 * from news where firstImageName<>'' and ok=true order by ID DESC" '从数据库中查找前5条符合条件的记录
set rses=conn.execute(sql)
%>
<script type="text/javascript">
var pics=""; //用来记录图片的地址
var links=""; //用来记录图片的链接
var texts=""; //用来记录播放效果下面的标题提示,即记录的标题
<%
adsi=0 '用来记录实际从数据库中读取的符合条件的记录
do while not rses.eof
adsi=adsi+1
%>
imgUrl<%=adsi%>="UploadFiles/<%=trim(rses("firstImageName"))%>";
imgtext<%=adsi%>="<%=left(rses("title"),12)%>";
imgLink<%=adsi%>=escape("xwxsym/viewnews.asp?id=<%=rses("id")%>");
pics+=imgUrl<%=adsi%>+"|";
links+=imgLink<%=adsi%>+"|";
texts+=imgtext<%=adsi%>+"|";
<%
rses.movenext
loop
%>
if(pics!="" && links!="" && texts!="") //如果有记录,则整理结果,即去掉最后的|
{
pics=pics.substring(0,pics.length-1);
links=links.substring(0,links.length-1);
texts=texts.substring(0,texts.length-1);
}
var focus_width=200 //播放的图片宽度
var focus_height=135 //播放的图片高度
var text_height=18 //显示标题文本的高度
var swf_height = focus_height+text_height //计算播放总共的实际高度
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
width="'+ focus_width +'" height="'+ swf_height +'">');
document.write('<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="focus2.swf"><param name="quality" value="high"><param name="bgcolor" value="#F0F0F0">');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+
'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'">');
document.write('</object>');
</script>
附件里上传了些程序所需要的flash,请参见右边下载。




Asp代码库





附件下载
☆