前提:
我最近在公司和師哥學(xué)習(xí)js,用來(lái)對(duì)
www.51ditu.com進(jìn)行優(yōu)化。把一些學(xué)習(xí)的點(diǎn)滴放在這里。
本文要記錄是怎么實(shí)現(xiàn)
www.51ditu.com中point點(diǎn)的tips框中怎么顯示當(dāng)前point是否有寶物!
首先我需要構(gòu)建好這個(gè)tip框中的html:
html += "<tr><td id='Baowu'></td></tr></table></div>";
var m = getMarker(poi.point, i+1, tmp.n, html);//調(diào)用函數(shù)生成marker
LTEvent.bind(m,"viewstylechange",m,onViewStyleChange);
當(dāng)中的 getMarker是實(shí)實(shí)在在的產(chǎn)生tips的函數(shù),他會(huì)限定好樣式和格式,并且將內(nèi)容的html來(lái)填充!
最后一句話很關(guān)鍵,師哥將onViewStyleChange這個(gè)函數(shù)綁定在marker上!
在getMarker這個(gè)函數(shù)中觸發(fā)viewstylechange,并且傳遞一個(gè)參數(shù)過(guò)來(lái)!
LTEvent.trigger(this,"viewstylechange",[v]);
繼而下面的增加寶物的方法被觸發(fā):
function onViewStyleChange(v)
{
if(v!=2){return;}
var jload = JsLoader.getInstance();
//callback
jload.setFun(LTEvent.getCallback(this,treasure));
jload.connect( "
);
}
當(dāng)中的jload會(huì)使用ajax方法來(lái)判斷當(dāng)前地點(diǎn)是不是有寶物!他的回調(diào)函數(shù)是: jload.setFun(LTEvent.getCallback(this,treasure));
function treasure(){
//獲取到marker中的屬性,這就是上邊把onViewStyleChange這個(gè)函數(shù)綁定在marker上的主要目的!
alert(this.mname);
}
在這個(gè)函數(shù)中我通過(guò)dom解析,找到 html += "<tr><td id='Baowu'></td></tr></table></div>";將相應(yīng)的html補(bǔ)充!
以上純屬紀(jì)錄,我自己也在學(xué)習(xí)!
真實(shí)效果請(qǐng)關(guān)注:www.51ditu.com,對(duì)于js部分可以參見(jiàn):
http://api.51ditu.com 效果如下:
posted on 2007-08-22 15:28
張氏兄弟 閱讀(336)
評(píng)論(0) 編輯 收藏 所屬分類:
js