作者chocho1981 (o(.```.)o)
看板Ajax
标题Re: [问题] 不换页更新图片资讯
时间Thu Dec 31 02:24:07 2009
※ 引述《TonyQ (^^)》之铭言:
: ※ 引述《chocho1981 (o(.```.)o)》之铭言:
首先感谢大家花时间指导QQ
不过还是有些问题
我在测试的时候将程式再简单化一下
只用X座标就好
: 如果我是你 , 我会改写函式
: var rsX="<%=rs5("locX")%>";
: var rsY="<%=rs5("locY")%>";
: var sessionX="<%=session("locX")%>";
: var sessionY="<%=session("locY")%>";
这里我连ASP都不用了 直接读取文字方块的值
var rsX=document.getElementById('newx').value;
var sessionX=document.getElementById('oldx').value;
: function showTimer(){
: if (rsX-sessionX>=i){
: document.getElementById('move_pic').style.left=sessionX+i;
: i+=2;
: }
: if (rsY-sessionY>=i){
: document.getElementById('move_pic').style.top=sessionY+i;
: i+=2;
: }
: if (rsX-sessionX<=i*-1){
: document.getElementById('move_pic').style.left=sessionX-i;
: i+=2;
: }
: if (rsY-sessionY<=i*-1){
: document.getElementById('move_pic').style.top=sessionY-i;
: i+=2;
: }
: }
这里改写成
if (rsX-sessionX>i){
document.getElementById('move_pic').style.left=parseInt(sessionX)+i;
i+=2;
}
if (rsX-sessionX<i*-1){
document.getElementById('move_pic').style.left=parseInt(sessionX)-i;
i+=2;
}
: 到时候你 requrest 回来的东西 , 中间插个
: <input type="hidden" id="rsX" value="xx" />
: <input type="hidden" id="rsY" value="xx" />
: <input type="hidden" id="sessionX" value="xx" />
: <input type="hidden" id="sessionY" value="xx" />
两个文字方块
OLDX <input type="text" name="t1" size="10" id="oldx" value="0">
NEWX <input type="text" name="t1" size="10" id="newx" value="100">
我有给他两个预设的值 所以一载入网页图片会从X=0 跑到 X=100
NEWX这个文字方块数字变动时 图片会继续往右边动
回传回来的网页 chk.asp 程式码是
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost;
DATABASE=XXX; UID=XXX;PASSWORD=XXX; stmt=SET NAMES 'big5'; OPTION=3"
set RS=Server.CreateObject("ADODB.Recordset")
SQLString="Select * From test where nid=1"
RS.Open SQLString,Conn,1,3
if request("B3")<>"" then
oldX=rs("X")
rs("X")=rs("X")+10
rs.update
else
rs("X")=0
rs.update
end if
%>
OLDX<input type="text" name="t1" size="10" id="oldx" value="<%=oldX%>">
NEWX<input type="text" name="t1" size="10" id="newx" value="<%=rs("X")%>">
: function getContent(objname, cid)
: {
: var obj = document.getElementById(objname);
: if(obj)
: {
: obj.innerHTML = httpget("chk.asp", "GET", "");
: rsX=document.getElementById("rsX").value;
: rsY=document.getElementById("rsY").value;
: sessionX=document.getElementById("sessionX").value;
: sessionY=document.getElementById("sessionY").value;
这边也修改过了 增加了两行
rsX=document.getElementById("newx").value;
sessionX=document.getElementById("oldx").value;
: }
: }
不过程式目前仍然是跑不出来的 除了在第一次进入网页时图片可动
按下按钮後 只有文字方块内的数字会变
图片依然没有动画 像之前一样 就不知道问题出在哪
完整的程式码如下
http://210.240.131.84/New/type/tool/dcontent.asp
另外一个chk.asp的程式码就是之前打的那些而已
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.240.131.69
※ 编辑: chocho1981 来自: 210.240.131.69 (12/31 02:30)
※ 编辑: chocho1981 来自: 210.240.131.69 (12/31 02:38)
1F:推 TonyQ:post之後i也要改成0 :3 12/31 08:54
2F:→ TonyQ:还有如果你在showTimer 改读 元素的值 , 12/31 09:08
3F:→ TonyQ:你post back 的时候也要改元素的值. 12/31 09:09
请问i值归0应该要怎麽做呢?
我增加一个按钮
<input type="button" value="I归0" name="B3" onclick="to();">
JS里面增加一个函数
function to(){
i=0;
}
是可以把I值做归0
但是在下面的函数增加 i=0; 这串後
function getContent(objname, cid)
{
var obj = document.getElementById(objname);
if(obj)
{
obj.innerHTML = httpget("chk.asp", "GET", "");
rsX=document.getElementById("newx").value;
sessionX=document.getElementById("oldx").value;
i=0;
}
}
X值+10的按钮按下後 仍然没反应@@
I值并没有被归0
※ 编辑: chocho1981 来自: 210.240.131.70 (12/31 11:02)