Re: [問題] 不換頁更新圖片資訊

看板Ajax作者 (o(.```.)o)時間15年前 (2009/12/31 02:24), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串5/6 (看更多)
※ 引述《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)

12/31 08:54, , 1F
post之後i也要改成0 :3
12/31 08:54, 1F

12/31 09:08, , 2F
還有如果你在showTimer 改讀 元素的值 ,
12/31 09:08, 2F

12/31 09:09, , 3F
你post back 的時候也要改元素的值.
12/31 09:09, 3F
請問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)
文章代碼(AID): #1BEvhAZr (Ajax)
文章代碼(AID): #1BEvhAZr (Ajax)