[問題] javascript class

作者: lonelytea (霸氣逼人)   2015-06-15 11:24:17
新手問題 (改了點內文)
<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內的
外面的抓不到值
作者: NOXI (EZway)   2015-06-15 11:34:00
window.onload / DOMContentLoaded ?
作者: tw0517tw (無冬夜)   2015-06-15 11:55:00
setInterval第一次執行是馬上還是1秒後?
作者: lonelycoffee (重新開始)   2015-06-15 12:37:00
1秒後
作者: tooto1985 ( )   2015-06-15 14:07:00
因為你1秒後才執行myFunction,但程式並不會停下來等1秒所以這個時候你的a一定是undefined遇到setTimeout,setInterval注意這種會造成非同步執行!
作者: lonelytea (霸氣逼人)   2015-06-15 21:59:00
那請問我該如何去抓到newimg的left top畢竟無法用class 跟id抓
作者: s25g5d4 (function(){})()   2015-06-15 22:54:00
綁 onload
作者: lonelytea (霸氣逼人)   2015-06-16 02:05:00
綁了 失敗 哈哈哈
作者: MangoTW (不在線上)   2015-06-16 03:15:00
你到底是LonelyTea還是LonelyCoffee?
作者: lonelytea (霸氣逼人)   2015-06-16 08:20:00
一個是我的帳號一個是我弟的 有時候沒登出就直接用了
作者: tooto1985 ( )   2015-06-16 09:02:00
你需要先執行myFunction()不用setInterval因該就可抓到

Links booklink

Contact Us: admin [ a t ] ucptt.com