googlemap 之 javascript實(shí)現(xiàn)方法
更新時(shí)間:2007年01月09日 00:00:00 作者:
這是一個(gè)很典型的一個(gè)background-position-x的應(yīng)用。技術(shù)含量并不高,但是思想還是值得思考的,證明了DHTML方面有很多東西可以變通的。用背景用map,如果做得更復(fù)雜一些,用ajax動(dòng)態(tài)的載入圖片的背景,也是一個(gè)小型的map了。我不打算在此項(xiàng)深究,因?yàn)槟_本的速度和效率是有瓶頸的。
預(yù)備知識(shí):
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)在似乎很流行這個(gè)詞,自從ajax in action出來(lái)后,更火了一把,從廣義的角色上講就是javascript的關(guān)聯(lián)數(shù)組。JSON(JavaScript Object Notation) 也就是類(lèi)似這樣 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)系形式。
問(wèn)題解決思路:
這個(gè)map的主要難點(diǎn)在于,坐標(biāo)的準(zhǔn)確性,也就是鼠標(biāo)移動(dòng)時(shí)得到background-position的坐標(biāo)方向。
如果解決掉上面的這個(gè)問(wèn)題,成功了一大半。
我采用慣用的方法
坐標(biāo)=用鼠標(biāo)移動(dòng)后的坐標(biāo)-原始我們存進(jìn)的坐標(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)類(lèi)似,不再重復(fù)。neverOnlineMap._wrapper.Y = event.clientY-parseInt(x.backgroundPositionY);
源碼如下:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
預(yù)備知識(shí):
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)在似乎很流行這個(gè)詞,自從ajax in action出來(lái)后,更火了一把,從廣義的角色上講就是javascript的關(guān)聯(lián)數(shù)組。JSON(JavaScript Object Notation) 也就是類(lèi)似這樣 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)系形式。
問(wèn)題解決思路:
這個(gè)map的主要難點(diǎn)在于,坐標(biāo)的準(zhǔn)確性,也就是鼠標(biāo)移動(dòng)時(shí)得到background-position的坐標(biāo)方向。
如果解決掉上面的這個(gè)問(wèn)題,成功了一大半。
我采用慣用的方法
坐標(biāo)=用鼠標(biāo)移動(dòng)后的坐標(biāo)-原始我們存進(jìn)的坐標(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)類(lèi)似,不再重復(fù)。neverOnlineMap._wrapper.Y = event.clientY-parseInt(x.backgroundPositionY);
源碼如下:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
相關(guān)文章
原生js實(shí)現(xiàn)的金山打字小游戲(實(shí)例代碼詳解)
這篇文章主要介紹了原生js實(shí)現(xiàn)的金山打字小游戲,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
JavaScript頁(yè)面滾動(dòng)事件舉例詳解
這篇文章主要介紹了頁(yè)面滾動(dòng)事件的基礎(chǔ)概念、應(yīng)用場(chǎng)景及優(yōu)化技巧,幫助開(kāi)發(fā)者在實(shí)際項(xiàng)目中靈活使用滾動(dòng)事件,提升用戶(hù)體驗(yàn),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01
js下通過(guò)prototype擴(kuò)展實(shí)現(xiàn)indexOf的代碼
這里使用js prototype擴(kuò)展實(shí)現(xiàn)的indexOf的實(shí)現(xiàn)代碼,跟js自帶的方法,差不多。2010-12-12
關(guān)于Aptana Studio生成自動(dòng)備份文件的解決辦法
關(guān)于Aptana Studio生成自動(dòng)備份文件的解決辦法2009-12-12
使用dynatrace-ajax跟蹤JavaScript的性能
DynaTrace 致力于分析后臺(tái)應(yīng)用性能的表現(xiàn)已經(jīng)好幾年了,最近,他們通過(guò)發(fā)布dynaTrace Ajax Edition進(jìn)入了前端性能分析領(lǐng)域. 它是一個(gè)運(yùn)行在IE下的BHO免費(fèi)工具. 雖然我喜歡Firefox和它下面的所有插件,但我知道基于IE的測(cè)試和調(diào)試也是很重要的。2010-04-04

