JS值调用的问题(想不通).........
目的:做一个漂浮代码,代码所使用的图片由style获得
JSP页面:
<%
String style=request.getParameter("style"); //从上一页传来style,譬如说“100_60”;
String[] s = style.split("_");
%>
<form name="form1" method="post">
<input type="hidden" name="width" value=<%=s[0]%> > //为了在JS中得到宽度、高度
<input type="hidden" name="height" value=<%=s[1]%> >
</form>
以下是漂浮代码,只需要看宽度、长度的赋值:
<SCRIPT>
var imagepath="images/flot3.gif"
直接赋值代码可以漂浮,如下
var imagewidth=100 //这两行写图片的大小
var imageheight=60
但下面这样就漂不了,为什么?
var imagewidth=form1.width.value;
var imageheight=form1.height.value;
var speed=2;
var imageclick="index0.htm" //这里写点击图片连接到的地址
var hideafter=0
var isie=0;
if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.appVersion.substring(window.navigator.appVersion.indexOf("MSIE")+5,window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
isie=1;
}
else {
isie=0;
}
if(isie){
var preloadit=new Image()
preloadit.src=imagepath
}
function pop() {
if(isie) {
x=x+dx;y=y+dy;
oPopup.show(x, y, imagewidth, imageheight);
if(x+imagewidth+5>screen.width) dx=-dx;
if(y+imageheight+5>screen.height) dy=-dy;
if(x<0) dx=-dx;
if(y<0) dy=-dy;
startani=setTimeout("pop();",50);
}
}
function dismisspopup(){
clearTimeout(startani)
oPopup.hide()
}
function dowhat(){
if (imageclick=="dismiss")
dismisspopup()
else
window.open(imageclick);
}
if(isie) {
var x=0,y=0,dx=speed,dy=speed;
var oPopup = window.createPopup();
var oPopupBody = oPopup.document.body;
oPopupBody.style.cursor="hand"
oPopupBody.innerHTML = '<IMG SRC="'+preloadit.src+'">';
oPopup.document.body.onmouseover=new Function("clearTimeout(startani)")
oPopup.document.body.onmouseout=pop
oPopup.document.body.onclick=dowhat
pop();
if (hideafter>0)
setTimeout("dismisspopup()",hideafter*1000)
}
</SCRIPT>