看板 Web_Design 關於我們 聯絡資訊
新手問題 (改了點內文) <script type="text/javascript"> //事件三 隨機圖片產生 var a; function myFunction() { // 亂數 random = Math.floor(Math.random() * 500) //新增圖片 var img = new Image(); img.src = "4.jpg"; a = img.className = "op2"; img.style.width = "50px"; img.style.height = "50px"; // 抓的到className alert(img.className); alert(a); //圖片出現的位置 document.body.appendChild(img); img.style.position = "absolute"; img.style.top = 8 + "px"; img.style.left = random + "px"; } setInterval("myFunction()", 1000); alert(a); </script> 我var a定義在廣域 但為何只能alert function內的 外面的抓不到值 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.192.91 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1434338660.A.0C8.html
NOXI: window.onload / DOMContentLoaded ? 06/15 11:34
※ 編輯: lonelytea (211.75.192.91), 06/15/2015 11:48:45
tw0517tw: setInterval第一次執行是馬上還是1秒後? 06/15 11:55
lonelycoffee: 1秒後 06/15 12:37
tooto1985: 因為你1秒後才執行myFunction,但程式並不會停下來等1秒 06/15 14:07
tooto1985: 所以這個時候你的a一定是undefined 06/15 14:08
tooto1985: 遇到setTimeout,setInterval注意這種會造成非同步執行! 06/15 14:09
lonelytea: 那請問我該如何去抓到newimg的left top 06/15 21:59
lonelytea: 畢竟無法用class 跟id抓 06/15 22:00
s25g5d4: 綁 onload 06/15 22:54
lonelytea: 綁了 失敗 哈哈哈 06/16 02:05
MangoTW: 你到底是LonelyTea還是LonelyCoffee? 06/16 03:15
lonelytea: 一個是我的帳號一個是我弟的 有時候沒登出就直接用了 06/16 08:20
tooto1985: 你需要先執行myFunction()不用setInterval因該就可抓到 06/16 09:02