注册 登录
编程论坛 ASP技术论坛

[分享]问题已经解决:图片向上滚动的效果代码

雷雷 发布于 2007-07-24 22:31, 2751 次点击

问题已经解决,效果页请查看Http://www.lelexiqing.com/ 首页商务礼品栏目的滚动图片,现把整页代码送上,有兴趣的朋友可以继续深入研究,指出我的不足之处:

点击下载:

只有本站会员才能查看附件,请 登录

大家好,我想做这个页面的效果:http://www.lelexiqing.com/pic.htm
我现在想从数据表 [PIC] 中读取16条记录。

数据表 [PIC] 结构如下:
ID(自动编号) Title(图片标题) ImgUrl(图片地址) Time(填加时间)
读取16条记录我用的 Select Top 16 ID,Title,ImgUrl From PIC By ID Desc

现在我想请问一下如何把读出来的这16条记录(或者少于16条)排成如http://www.lelexiqing.com/pic.htm这个页面JS脚本里ARRAY这样的形式。

messages[0] = <Table1> 第1,2,3,4张图片 </Table>
messages[1] = <Table2> 第5,6,7,8张图片 </Table>
messages[2] = <Table3> 第9,10,11,12张图片 </Table>
messages[3] = <Table4> 第13,14,15,16 </Table>

这样的形式呢?不知道这个循环该怎么写,麻烦高手帮忙写一下示例代码,谢谢。


[此贴子已经被作者于2007-8-4 11:40:31编辑过]

11 回复
#2
雷雷2007-07-24 23:20

怎么没有人回答呀?

帮帮忙啊,我想了两天了,没有做出来,麻烦大家啦,谢谢。

#3
madpbpl2007-07-24 23:45
对列进行循环
if cols >1 and cols mod 4 =1 then response.write "</tr> <tr><td width=""20""></td></tr> <tr>"
红色部分可以不加。
#4
雷雷2007-07-25 10:17

不是很明白,做出来一个四行四死显示的。

可是我的目的是把这每一行都是一个单独的表格,而且每一个表格的值又得赋值给MESSAGES[0]

#5
madpbpl2007-07-25 11:04

如果要实现你说的滚动的,要用到js的,这个我不太熟悉了

#6
ayue2222007-07-25 12:00

messages[0]='。。。';
messages[1]='。。。';
messages[2]='。。。';
messages[3]='。。。';
换成

<%dim rs,sql,i,j,cols,strs
cols=4
sql="Select Top 16 ID,Title,ImgUrl From PIC By ID Desc"
set rs=conn.execute (sql)
if not rs.eof then sql=rs.GetRows ()
j=1
strs=strs &"messages["&j-1&"]='<TABLE cellSpacing=0 cellPadding=4 width=540 align=center border=0><tr>"
For i = 0 To Ubound(sql,2)
strs=strs &"<td height=130 width=20% align=center><table border=0 cellspacing=0 cellpadding=0><tr><td align=center><a href=""javascript:""><img src="&sql(2,i)&" width=80 height=100 border=0 class=img></a></td></tr><tr><td align=center>"&sql(1,i)&"</tr></table></td>"
i=i+1:j=j+1
if (j mod cols)=0 then
strs=strs&"</td></tr></table>';"&vbcrlf
strs=strs&"messages["&j&"]='<TABLE cellSpacing=0 cellPadding=4 width=540 align=center border=0><tr>"
end if
next
end if
response.write strs
rs.close:set rs=nothing
%>
大概就是这样。。。不过没有用你的条件测试,循环可能有点问题。。。你再调试一下就行了。。。

[此贴子已经被作者于2007-7-25 12:59:39编辑过]

#7
SkyGull2007-07-25 12:51
效果关键是看那段JS的..
只要循环好了就行了..
#8
雷雷2007-07-28 21:04

不行,生成的阵列排列为

messages[0]=""

messages[4]=""

messages[8]=""

这个问题很长时间了,一直没有解决,头疼ING。。。。

#9
雷雷2007-08-04 11:36

感谢朋友们的加贴,问题已经解决,最后的循环我用的是:

[CODE]<%sql="select top 12 * from pic order by ID Desc"
set rs=conn.execute (sql)
if not rs.eof then
j=0
for i=0 to 2
Response.write "messages["&j&"]='<TABLE><tr>"
for a=1 to 4
response.write "<td><img src="&rs("Img")&" width=150 height=150 border=0></td>"
rs.movenext
next
response.write "</tr></table>';" & vbCrlf
j=j+1
next
end if
rs.close
set rs=nothing
%>[/CODE]

我把代码里的所有格式全去掉了,方便朋友们阅读,有兴趣的朋友可以到顶楼下载源码。

[此贴子已经被作者于2007-8-4 11:39:21编辑过]

#10
jxdz0864652007-08-04 15:21
只有本站会员才能查看附件,请 登录

看看这
#11
雷雷2007-08-05 19:48
楼上的朋友谢谢你的代码,JS的滚动代码我也有很多,只是苦于不能写成ASP控制从数据库里读取的啊,呵呵。
#12
whitecat2008-11-09 23:09
寻找这个好长时间了
谢谢了,拿下来看看,可以继续交流
1