Re: [問題] 很奇怪的javascript問題
※ 引述《ncuman (ncuman)》之銘言:
: 煩請大大給小弟意見
: 我在做關於google map的網頁,想在地圖能看到的範圍內才會有標籤顯示
: marker.show(),然而在顯示範圍以外就 marker.hide(),但問題在只要在
: 網頁內加上window.alert('')無論是輸出什麼,只有加上alert這語法,
: 這個show() or hide() 就能正常顯示或隱藏,但如果沒加上alert('')便
: 會出部標籤都會顯示出來。
: 小弟百思不得其解為啥加上alert 才能正常顯示或隱藏標籤,而且其它
: javascript 部份都是正確的。
: 這問題快煩死了
可能是以下原因:
1.DOM Tree還未建完,你就做動作。
假設有2個以上的function a,b (後面的)b要等(前面的)a建完DOM 才能動作
如果b不等a,b做動作時,可能a還沒建好b需要用到的DOM,導致b動作無效。
例如a有一個... callback(){
//至少要1秒才會跑到這裡
...html("<span id='sayhi'>Charlie</span>")
}
b則是 $("#sayhi").css("color","red");
2.你的code某個地方有寫錯。因此可能部分code有跑到,剩餘的沒有。
為什麼加alert就可以了?
如果是1.情形 那就是alert剛好停了那幾秒 讓function完整跑完 建完DOM了
2.的話 我也不確定怎麼回事 有時候code就是很神奇 you know
解決辦法:
1.的話 可考慮setTimeout/setInterval等前面的跑完(或是後段的等幾秒再跑)
或是後段的code 寫在更精確的地方 例如前段的callback{}框框裡
2.debug吧.....這情況太多種了 善用firebug,IE開發者工具等等
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.40.183
推
08/29 10:42, , 1F
08/29 10:42, 1F
推
08/30 11:35, , 2F
08/30 11:35, 2F
→
08/30 11:36, , 3F
08/30 11:36, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):