[問題] if設置

看板Ajax作者 (霸氣逼人)時間11年前 (2015/06/12 16:28), 編輯推噓2(2015)
留言17則, 3人參與, 最新討論串1/1
<!-- 讓東西掉下來 --> <img id="bigStone" src="4.jpg" style="width:5em; height:5em; position: relative;"> <script type="text/javascript"> var stone = document.getElementById("bigStone"); function comedown() { var posDown = parseInt(stone.style.bottom).toString() == "NaN" ? 0 : parseInt(stone.style.bottom); stone.style.bottom = (posDown - 1) + "px"; if (parseInt(stone.style.top) == (plane.style.height)) { clearInterval(stone); stone.style.top = "0px"; } setInterval("comedown()", 10); </script> <-- plane是另一張圖片 --> 扣除if那行 他圖片會一直往下掉 但網頁一直往下捲動 我希望他碰到plane那張圖時 就會停止 請問我該如何修正 新手請大家多指教... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.192.91 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1434097695.A.1C4.html

06/13 19:42, , 1F
要抓到plane的position與高度,然後stone和plane的邊緣碰
06/13 19:42, 1F

06/13 19:42, , 2F
觸時再用clearInterval清掉週期性計時器
06/13 19:42, 2F

06/13 19:43, , 3F
要注意你的stonerelative不是absolute,移動時可能會更
06/13 19:43, 3F

06/13 19:43, , 4F
動到排版
06/13 19:43, 4F

06/13 19:44, , 5F
stone是relative不是absolute
06/13 19:44, 5F

06/13 22:04, , 6F
那請問為何我加上if那行程式就死了 哪裏有錯誤
06/13 22:04, 6F

06/13 22:29, , 7F
clearInterval這行有錯
06/13 22:29, 7F

06/13 22:30, , 8F
clearInterval要帶入的第一參數是setTimeout所回傳的數值
06/13 22:30, 8F

06/13 22:30, , 9F
或是setInterval所回傳的數值
06/13 22:30, 9F

06/13 22:31, , 10F
你要用個變數儲存setInterval傳出的數值,然後留給
06/13 22:31, 10F

06/13 22:31, , 11F
clearInterval去用
06/13 22:31, 11F

06/13 22:34, , 12F
這數值是計時器的識別ID,供後續操作所用的
06/13 22:34, 12F

06/13 23:21, , 13F
簡單的說單純呼叫setInterval弄下去會變射後不理
06/13 23:21, 13F

06/13 23:22, , 14F
如果沒有obj=setInterval() 接收他產生的事件識別
06/13 23:22, 14F

06/13 23:22, , 15F
是沒辦法進行clear之類的後續操作的
06/13 23:22, 15F

06/14 00:17, , 16F
可是我把clean砍掉 設置底部等於0時 這個if也無法運作
06/14 00:17, 16F

06/14 11:17, , 17F
因為你的function沒有right bracket,程式無法運作
06/14 11:17, 17F
文章代碼(AID): #1LUfWV74 (Ajax)
文章代碼(AID): #1LUfWV74 (Ajax)