利用Javascript与VBscript交互实现图片自动切换
上一篇 / 下一篇 2007-09-14 09:43:03 / 个人分类:ASP
51Testing软件测试网9u+y5J1L?
一、原理说明:
UY~%H~+Jx!Z01、利用Javascrīpt构造一个HTTP请求向后台数据库请求图片路径和图片描述数据
cOr\OcL02、利用返回的图片数据构造一个图片路径数组和图片描述数组
G]_nK6L+m03、构造一个IMG对象51Testing软件测试网*o^G?]$s0{X
4、利用javascrīpt的定时函数控制IMG对象的SRC属性和TITLE属性在图片路径数组和图片描述数组各元素之间切换51Testing软件测试网s,tODc(cN!~1V
二、文件组成:
:ye's@+wC6Nzf0frontpage.asp
:z^2C+u
b0loadpicturesource.asp51Testing软件测试网k2\5?/h-}N3A9m
conn.asp51Testing软件测试网]Y)Nhsv.E5p#_
site.MDB51Testing软件测试网I7K4]e1qJ}G
三、详细设计:
q2D'npV01、客户端请求调用frontpage.asp: Http - > frontpage.asp51Testing软件测试网%a;KAu3c?Q5`
2、frontpage.asp调用loadpicturesource.asp获取图片数据:frontpage.asp - > loadpicturesource.asp
$rVv@;?]f(w03、loadpicturesource.asp调用site.MDB获取数据存储:loadpicturesource.asp - > site.MDB
7A0DH X+Me
SJk04、frontpage.asp利用调用返回数据构造图片路径数组和图片描述数组
z
e1CH
u8g8fg*G[05、frontpage.asp启动setInterval定时函数进行自动控制51Testing软件测试网s1H1}'YU$u;m6cobt
四、文件内容:
FG%G8K!w/d8x5^ e6C"Z0============================================================================
:Q Kf"[y8XU!V0frontpage.asp
R8Gz*d:kU/\ diK7A0============================================================================51Testing软件测试网&K&v;O@ad!t_$x^
<!--#include file="conn.asp"-->
;p#J/Zjj-c2oH0`"[0<%51Testing软件测试网r![#Pu^_^ o}-L
dim rs,sSql,sOutput,defaultPicture,defaultDescrīption,interval51Testing软件测试网Rf&KB.WveZO
'刷新频率
j;[ \5]Px0 interval =5000
_H$?@'gL0 '默认图片和默认说明 51Testing软件测试网V,YBb"V
SbE
set rs=server.CreateObject("ADODB.RecordSet")51Testing软件测试网UPCd Bv
sSql = "select top 1 * from pictureSet where PicName = '首页图片' order by updateDate desc"
p b{ S+j9B!lz0 rs.open sSql,conn,1,151Testing软件测试网$]U N
p#i"o `N{
if not rs.bof and not rs.eof then 51Testing软件测试网a@mS#ww
&b+\Gx7R@1I0 defaultPicture = rs("PicPath")
&d4RPO}\
uX#B0 defaultDescrīption = rs("PicTiTle")
8Ju}dGO9he:@0 End If51Testing软件测试网'Ph%P:}
|6Y-^TIt'X
rs.close51Testing软件测试网'|+Wi.@-@r9T
conn.close51Testing软件测试网K2V"c;o~-F7c-o8ntu
Set rs = Nothing
a:ND
AR"Wf(]2g0 Set conn = Nothing51Testing软件测试网P+Evh;y&@
F\
defaultDescrīption = "图片新闻:"&defaultDescrīption&"(点击图片查看放大效果)"
(kq'N"{2M:b0 51Testing软件测试网UhfL&w~AGq
%>51Testing软件测试网`mi-S)Ij
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">51Testing软件测试网6p:__@5\!rg
<HTML>51Testing软件测试网 c$pD u&a}S\1_
<HEAD>51Testing软件测试网*j3JAr_6U?*Y7v
<TITLE></TITLE>
B+`_XL/vho0<META NAME="Generator" CONTENT="EditPlus">
s|T)d7Rn!OM0<META NAME="Author" CONTENT="">
k
v&E5{/n:[0<META NAME="Keywords" CONTENT="">
+F9m^8K;O6uyM0<META NAME="Descrīption" CONTENT="">
suX[F
{0<scrīpt LANGUAGE="Javascrīpt">51Testing软件测试网)n?(e'vs)E g
<!--
Y1f_p Fq0var arraySrc;
;Y7a P1K/tv*FZJN0var arrayAlt;51Testing软件测试网?i9N vH5~T
var picNameCounter = 0;51Testing软件测试网!Uq,FK;F+S
function GetServerData(objstrName,objstrValue,serverPage)
&F@ID$dp0{
"~ Q+l,pA*g)Yb
qD0 string=escape(objstrName) +"="+escape(objstrValue);51Testing软件测试网5n,Bfv*?!}Js%{
var ōbjXMLHTTP = null;
\W/ta3[y4aa6x9n0 try 51Testing软件测试网L"g],f+G]/@8K
{
r4X.R&rI#WD-{ x0 objXMLHTTP = new ActiveXObject("MSXML2.XMLHTTP"); 51Testing软件测试网8z~(h!bOYyl
}
#{gG;lz0 catch(e)
K(w R6lE |Cm0 {
M;}"v&eF*?2[]B3h0 try
}KB5V+K'a i0 { 51Testing软件测试网:xb7l |#]r-sx-r
objXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP"); 51Testing软件测试网&GU/ng/uM
}
;f];S+F!l b0 catch(e2){}
-V#I+e!|:M4@*^&x0 }51Testing软件测试网 H7_4sKU9F-a
nd
objXMLHTTP.open("POST", serverPage, false);51Testing软件测试网4_3FP2bk#liw
objXMLHTTP.setrequestheader("content-length",string.length);
t3K M2jt)y0 objXMLHTTP.setrequestheader("content-type","application/x-www-form-urlencoded");51Testing软件测试网Hn9N)Rvy
objXMLHTTP.send(string);51Testing软件测试网5t_C)|U9l1M`+}
O
return objXMLHTTP.responseText; 51Testing软件测试网.ai|c8m%\
}51Testing软件测试网5q2_0Ds7Z
function Initialize()51Testing软件测试网!CA4\+U
lb^'L"J,P
{51Testing软件测试网E(|X"Xq,Y
var returnSrc = GetServerData("PictureSrc","PictureSrc","LoadDisplayPicture.asp");
U-F
WMli%d0 arraySrc= returnSrc.split("|");51Testing软件测试网|ON
quCY`@
var returnAlt = GetServerData("PictureAlt","PictureAlt","LoadDisplayPicture.asp");
;}w/q9ff7OH#?0 arrayAlt = returnAlt.split("|");
|$hgsC(Q,U6j0 setInterval("PictureLoad()",<%=interval%>);51Testing软件测试网9RA{k'}
}
|c2ZY"yv1Q0Yb!F~7v0function PictureLoad()51Testing软件测试网V9F,e5kmM7|!L0Q
{51Testing软件测试网b*N5k
|u,hMK
document.all('mainpic').src = arraySrc[picNameCounter].toString();
G+MmQ4Q}Up0 document.all('mainpic').title = arrayAlt[picNameCounter].toString();
Es g1ri:zKAdwx0 document.all('pictureDescption').innerText = "图片新闻:" + arrayAlt[picNameCounter].toString() + "(点击图片查看放大效果)";
~V/x(L*t
O
`+B0 picNameCounter = picNameCounter + 1;51Testing软件测试网P)?6y&^-X.CXYb
if (picNameCounter > 9 ||picNameCounter > arraySrc.length - 1)
8A)v.]q8rHT2H0 {51Testing软件测试网1SPt e2J
picNameCounter = 0;51Testing软件测试网~H2cwx*W
}
4a+Cx)J'jy0}
@Z)Y0L6cm#{0function showFull()51Testing软件测试网c:Z#CnemP
{51Testing软件测试网_1Pt#B8s,TfK3m}
var newWin = window.open();
A$Lt:M.R0 newWin.document.write("<img src="+ newWin.opener.mainpic.src +" title="+ newWin.opener.mainpic.title +" width=100% height = 100%>");
9X6J
u}:A5s2y:b%J)o0 newWin.document.close();