googlemap 之 javascript實現(xiàn)方法
更新時間:2007年01月09日 00:00:00 作者:
這是一個很典型的一個background-position-x的應(yīng)用。技術(shù)含量并不高,但是思想還是值得思考的,證明了DHTML方面有很多東西可以變通的。用背景用map,如果做得更復(fù)雜一些,用ajax動態(tài)的載入圖片的背景,也是一個小型的map了。我不打算在此項深究,因為腳本的速度和效率是有瓶頸的。
預(yù)備知識:
background-position-x ------------- 背景圖的X坐標(biāo)。
background-position-y ------------- 背景圖的Y坐標(biāo)。
event.clientX ------------------------鼠標(biāo)的X坐標(biāo)。
event.clientY ------------------------鼠標(biāo)的Y坐標(biāo)。
JSON --------------------------------- 現(xiàn)在似乎很流行這個詞,自從ajax in action出來后,更火了一把,從廣義的角色上講就是javascript的關(guān)聯(lián)數(shù)組。JSON(JavaScript Object Notation) 也就是類似這樣 var o={name:"never-online",web:"http://www.never-online.net",blog:"http://blog.never-online.net"}從而可以這樣用o.name, o.web或者o['name'],o['web']這樣的數(shù)組關(guān)系形式。
問題解決思路:
這個map的主要難點在于,坐標(biāo)的準(zhǔn)確性,也就是鼠標(biāo)移動時得到background-position的坐標(biāo)方向。
如果解決掉上面的這個問題,成功了一大半。
我采用慣用的方法
坐標(biāo)=用鼠標(biāo)移動后的坐標(biāo)-原始我們存進的坐標(biāo)。
原始坐標(biāo)得到方法為:neverOnlineMap._wrapper.X = event.clientX-parseInt(x.backgroundPositionX);
即用鼠標(biāo)當(dāng)前位置-圖像背景的X坐標(biāo)
圖片背景坐標(biāo)=鼠標(biāo)位置-原始位置
Y坐標(biāo)和X坐標(biāo)類似,不再重復(fù)。neverOnlineMap._wrapper.Y = event.clientY-parseInt(x.backgroundPositionY);
源碼如下:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
預(yù)備知識:
background-position-x ------------- 背景圖的X坐標(biāo)。
background-position-y ------------- 背景圖的Y坐標(biāo)。
event.clientX ------------------------鼠標(biāo)的X坐標(biāo)。
event.clientY ------------------------鼠標(biāo)的Y坐標(biāo)。
JSON --------------------------------- 現(xiàn)在似乎很流行這個詞,自從ajax in action出來后,更火了一把,從廣義的角色上講就是javascript的關(guān)聯(lián)數(shù)組。JSON(JavaScript Object Notation) 也就是類似這樣 var o={name:"never-online",web:"http://www.never-online.net",blog:"http://blog.never-online.net"}從而可以這樣用o.name, o.web或者o['name'],o['web']這樣的數(shù)組關(guān)系形式。
問題解決思路:
這個map的主要難點在于,坐標(biāo)的準(zhǔn)確性,也就是鼠標(biāo)移動時得到background-position的坐標(biāo)方向。
如果解決掉上面的這個問題,成功了一大半。
我采用慣用的方法
坐標(biāo)=用鼠標(biāo)移動后的坐標(biāo)-原始我們存進的坐標(biāo)。
原始坐標(biāo)得到方法為:neverOnlineMap._wrapper.X = event.clientX-parseInt(x.backgroundPositionX);
即用鼠標(biāo)當(dāng)前位置-圖像背景的X坐標(biāo)
圖片背景坐標(biāo)=鼠標(biāo)位置-原始位置
Y坐標(biāo)和X坐標(biāo)類似,不再重復(fù)。neverOnlineMap._wrapper.Y = event.clientY-parseInt(x.backgroundPositionY);
源碼如下:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
相關(guān)文章
js下通過prototype擴展實現(xiàn)indexOf的代碼
這里使用js prototype擴展實現(xiàn)的indexOf的實現(xiàn)代碼,跟js自帶的方法,差不多。2010-12-12
關(guān)于Aptana Studio生成自動備份文件的解決辦法
關(guān)于Aptana Studio生成自動備份文件的解決辦法2009-12-12
使用dynatrace-ajax跟蹤JavaScript的性能
DynaTrace 致力于分析后臺應(yīng)用性能的表現(xiàn)已經(jīng)好幾年了,最近,他們通過發(fā)布dynaTrace Ajax Edition進入了前端性能分析領(lǐng)域. 它是一個運行在IE下的BHO免費工具. 雖然我喜歡Firefox和它下面的所有插件,但我知道基于IE的測試和調(diào)試也是很重要的。2010-04-04

