[問題] javascript class

看板Web_Design作者 (霸氣逼人)時間10年前 (2015/06/15 11:24), 10年前編輯推噓5(508)
留言13則, 7人參與, 最新討論串1/1
新手問題 (改了點內文) <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

06/15 11:34, , 1F
window.onload / DOMContentLoaded ?
06/15 11:34, 1F
※ 編輯: lonelytea (211.75.192.91), 06/15/2015 11:48:45

06/15 11:55, , 2F
setInterval第一次執行是馬上還是1秒後?
06/15 11:55, 2F

06/15 12:37, , 3F
1秒後
06/15 12:37, 3F

06/15 14:07, , 4F
因為你1秒後才執行myFunction,但程式並不會停下來等1秒
06/15 14:07, 4F

06/15 14:08, , 5F
所以這個時候你的a一定是undefined
06/15 14:08, 5F

06/15 14:09, , 6F
遇到setTimeout,setInterval注意這種會造成非同步執行!
06/15 14:09, 6F

06/15 21:59, , 7F
那請問我該如何去抓到newimg的left top
06/15 21:59, 7F

06/15 22:00, , 8F
畢竟無法用class 跟id抓
06/15 22:00, 8F

06/15 22:54, , 9F
綁 onload
06/15 22:54, 9F

06/16 02:05, , 10F
綁了 失敗 哈哈哈
06/16 02:05, 10F

06/16 03:15, , 11F
你到底是LonelyTea還是LonelyCoffee?
06/16 03:15, 11F

06/16 08:20, , 12F
一個是我的帳號一個是我弟的 有時候沒登出就直接用了
06/16 08:20, 12F

06/16 09:02, , 13F
你需要先執行myFunction()不用setInterval因該就可抓到
06/16 09:02, 13F
文章代碼(AID): #1LVaLa38 (Web_Design)