| | |
| Stránka: 1 z 1
| [ Príspevkov: 25 ] | |
Autor | Správa |
---|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 |
Ahojte.
S javascriptom len zacinam.. chcem sa opytat, ze ci je mozne cez switch case spravit taku vec, ze v case budem mat ulozene nejake hodnoty a ked kliknem na nieco tak sa tie hodnoty vyberu....
ukazem to na mojom priklade lebo sa to mozno tazko vysvetluje
Kód: <span id="nula">0</span><br> <span id="jeden">1</span><br> <span id="dva">2</span><br> <script> var vyber = Math.floor(Math.random()*3)
switch(vyber){ case 0: document.write("nula"); break case 1: document.write("jeden"); break case 2: document.write("dva"); break }</script>
vyberam len nahodne a potom uzivatel vyberie podla toho na aku hodnotu klikne napr na 1 (id="jeden")..
nejak mi to nejde.. tak neviem, ze ci je to mozne.. alebo robim kdesi chybu... dakujem
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | |
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 04.04.2011 19:04 | |
|
ako ja som tam dal document.write len preto, aby som si to akoze odskusal, ze ci to ide...
ja tam mam naplnene premenne...
Kód: var cerpacie_stanice = [ ['OMV', 'images/ikony/cerpacie_stanice.png', 49.122167,18.460678, 1], ['Shell', 'images/ikony/cerpacie_stanice.png', 49.102846,18.438853, 2], ['Agip', 'images/ikony/cerpacie_stanice.png', 49.112472,18.448163, 3] ];
a potrebujem vybrat iba danu premennu, ked na nieco kliknem...
nemozes mi poradit ako to urobim cez onclick? ked to vies tak to mas hned napisane.. ten jeden riadok diky
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 04.04.2011 19:09 | |
|
Nechapem, s cim konkretne mas problem. Kazdemu <span>u priradis udalost onclick, kde budes robit presne to, co potrebujes (neviem, ako si predstavujes "vybratie" premennej). Vyskusaj to urobit najprv sam.
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 04.04.2011 21:26 | |
|
takto by to malo ist.. a nejde...
Kód: <span onClick="p = '0';return false;">0</span><br> <span id="jeden">1</span><br> <span id="dva">2</span><br> <br><br><br> <script>
var text = "lala", p;
if (p == '0)' text = "jeden";
document.write(text); </script>
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 05.04.2011 9:22 | |
|
miro-boss: keby mal javascript nohy tak ti ...
kde mas zatvorku ktora uzarvara testovanie ?
Kód: if (p == '0)'
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 05.04.2011 11:43 | |
|
tie apostrofy som dopisoval tu.. preto som sa sekol...
najlepsie na co som prisiel.. je cez funkciu...
Citácia: <span onClick="funkcia(0);return false;">0</span><br> <span onClick="funkcia(1);return false;">1</span><br> <span id="dva">2</span><br> <br><br><br> <script>
function fun(hodnota){ if (hodnota == '0') text = "nula"; if (hodnota == '1') text = "jeden"; document.write(text); return false; } </script>
skoro takto to chcem... len potrebujem... len to nechcem vo funkcii
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 05.04.2011 15:48 | |
|
No tak to priraď rovno k tomu onclick. Čo ti bráni?? Žeby to, že o JS nemáš ani potuchy???
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 05.04.2011 23:34 | |
|
zeby som to pisal v prvom prispevku... ja neviem.. ja si myslim, ze ked ktosi hlada pomoc na fore, zrejme si nevie poradit.. alebo si tu od nudy vypisujem?
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 05.04.2011 23:41 | |
|
Jaj tak sorry. Začni s tým že prestaneš ignorovať to, čo ti napísal Ďuri ohľadom document.write()...
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 05.04.2011 23:46 | |
|
dobre.. tak zacnem znova... a asi bude dobre zasvetit vas uplne do mojej problematiky...
ide o to, ze mam v premennych ulozene body pre google maps api v3
vypada to takto:
Kód: var bary = [ ['bod 1', 'images/ikony/ikona-mapa-bary.png', 49.121584,18.431689, 1], ['bod 2', 'images/ikony/ikona-mapa-bary.png', 49.121419,18.43192, 2], ['bod 3', 'images/ikony/ikona-mapa-bary.png', 49.119498,18.441715, 3] ];
var cerpacie_stanice = [ ['OMV', 'images/ikony/cerpacie_stanice.png', 49.122167,18.460678, 1], ['Shell', 'images/ikony/cerpacie_stanice.png', 49.102846,18.438853, 2], ['Agip', 'images/ikony/cerpacie_stanice.png', 49.112472,18.448163, 3] ];
a tieto dva cykli mi vypisuju body na mapu Kód: for (i = 0; i < bary.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(bary[i][2], bary[i][3]), map: map, icon: bary[i][1] });
google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(bary[i][0]); infowindow.open(map, marker); } })(marker, i)); }
for (i = 0; i < cerpacie_stanice.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(cerpacie_stanice[i][2], cerpacie_stanice[i][3]), map: map, icon: cerpacie_stanice[i][1] });
google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(cerpacie_stanice[i][0]); infowindow.open(map, marker); } })(marker, i)); }
no a moj problem je taky... ze v menu mam zoznam moznych bodov, ktore chcem zobrazovat.. a potrebujem vybrat po kliknuti na polozku v menu iba dane body...
kedze s javascriptom zacinam... logicky som to robil tak, aby som videl, ze ci to funguje.. preto som pouzival document.write(), ale asi to nebolo najlepsie riesenie... :-/
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 06.04.2011 7:27 | |
|
a preco chces pouzivat swicth ? nieje lepsie associativne pole ?
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 06.04.2011 8:40 | |
|
Fakt neviem čo si mám myslieť...
Teda potrebuješ pri kliknutí priradiť do premennej príslušné pole(bar/stanica).
Takže máš nejakú premennú X a tie tvoje polia...
Cez onclick priradíš priamo príslušné pole do premennej X
Kód: <span onclick="X=bary[0]">bar 1</span> Lenže toto ti bude úplne na nič. Potrebuješ tam mať funkciu ktorá nejako komunikuje s tým objektom google a to už bude väčší problém... Kód: <span onclick="posliGooglu(bar[0])">bar1</span>
No a v tej funkcii si urobis s barom[0] co potrebujes.
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 06.04.2011 13:32 | |
|
v podstate mi staci nejaka podmienka.. ktora mi spristupni dane pole ked kliknem napr v menu na polozku bary.. tak sa vykona podmienka... nieco ako
Kód: if (vyber='1') {var bary = [ ['bod 1', 'images/ikony/ikona-mapa-bary.png', 49.121584,18.431689, 1], ['bod 2', 'images/ikony/ikona-mapa-bary.png', 49.121419,18.43192, 2], ['bod 3', 'images/ikony/ikona-mapa-bary.png', 49.119498,18.441715, 3] ];}
tym by sa vygenerovali na mape iba bary.... potom kliknem napr na cerpacie stanice.. a zobrazia sa iba tie...
len neviem, ze ci je to v javascripte mozne... alebo treba nacitat vsetky polia a nejak ich iba skryt a potom zobrazit... fakt neviem..
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 06.04.2011 13:45 | |
|
Nechápem, čomu nechápeš...
To čo som ti napísal ti akože to pole zneprístupní??? Čo na tom nechápeš?? Tie polia tam samozrejme musíš mať (ak ich neni tak veĺa že by bolo lepšie použiť Ajax). Ako inak ich chceš priradiť do premennej
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 06.04.2011 13:55 | |
|
takzeeee.. kukni tuto stranku http://mapa.povazska.com - to je stara verzia, ktoru prerabam... tam je pouzite google maps api v2 a ja som teraz presiel na v3.. tak preto komplikacie.. ide mi o to, ze to ma fungovat takto... vobec netusim, ako to funguuje.. kedze tam switch je cez php a pritom to ovlada javascript.. to som kdesi nasiel hototove riesenie.. a nejak som si to iba upravil...
cize je musim spristupnit premennu (pole), aby cyklus nahadzal body na mapu... alebo to zrejme bude musiet byt riesene tak, ze sa nacitat vsetko.. len bude vsetko skryte... a nejak to budem zobrazovat po kliknuti
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 06.04.2011 14:12 | |
|
Ten cyklus čo ti to tam má nahádzať je predpokladám súčasťou nejakej funkcie(v tom príklade je to readMap()). A tá funkcia potrebuje nejaké parametre(zrejme to pole). Tak by si jej ho mal asi poslať, nie??? A buď tak dobrý a už nám ukáž ako to vyzerá celé...
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 06.04.2011 14:18 | |
|
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 06.04.2011 14:36 | |
|
coldak: to mam cele prejdene milion krat.. nic
camo: toto je cely kod
Kód: <div id="mapa"></div>
<script type="text/javascript">
var bary = [ ['bod 1', 'images/ikony/ikona-mapa-bary.png', 49.121584,18.431689, 1], ['bod 2', 'images/ikony/ikona-mapa-bary.png', 49.121419,18.43192, 2], ['bod 3', 'images/ikony/ikona-mapa-bary.png', 49.119498,18.441715, 3] ];
var cerpacie_stanice = [ ['OMV', 'images/ikony/cerpacie_stanice.png', 49.122167,18.460678, 1], ['Shell', 'images/ikony/cerpacie_stanice.png', 49.102846,18.438853, 2], ['Agip', 'images/ikony/cerpacie_stanice.png', 49.112472,18.448163, 3] ];
var map = new google.maps.Map(document.getElementById('mapa'), { zoom: 14, center: new google.maps.LatLng(49.114004,18.448012), streetViewControl: false, overviewMapControl: true, overviewMapControlOptions: true, scrollwheel: true, panControl: false, scaleControl: false, mapTypeControl: true, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN_MENU }, zoomControl: true, zoomControlOptions: { style: google.maps.ZoomControlStyle.LARGE, position: google.maps.ControlPosition.RIGHT_TOP }, mapTypeId: google.maps.MapTypeId.HYBRID });
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < bary.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(bary[i][2], bary[i][3]), map: map, icon: bary[i][1] });
google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(bary[i][0]); infowindow.open(map, marker); } })(marker, i)); }
for (i = 0; i < cerpacie_stanice.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(cerpacie_stanice[i][2], cerpacie_stanice[i][3]), map: map, icon: cerpacie_stanice[i][1] });
google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(cerpacie_stanice[i][0]); infowindow.open(map, marker); } })(marker, i)); }
</script>
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 06.04.2011 16:59 | |
|
Takto mi to doma funguje(zmenil som adresy obrázkov!!!):
Kód: <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=yes" /> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0px; padding: 0px } #mapa { height: 90% } a{font:bold 20px tahoma; text-decoration:none} a:hover{color: green;} </style> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"> </script> <script type="text/javascript"> function initialize() { var latlng = new google.maps.LatLng(49.121584,18.431689); var myOptions = { zoom: 14, center: latlng, mapTypeId: google.maps.MapTypeId.HYBRID }; var map = new google.maps.Map(document.getElementById("mapa"), myOptions); }
</script> </head> <body onload="initialize()"> <div style="height:7%; padding-top:1%; background:#ddddff"> <a href="#" onclick="show(bary); return false;">bary</a> <a href="#" onclick="show(cerpacie_stanice); return false;">cerpacky</a> </div> <div id="mapa"></div>
<script type="text/javascript">
var bary = [ ['bod 1', 'pero.jpg', 49.121584,18.431689, 1], ['bod 2', 'pero.jpg', 49.121419,18.43192, 2], ['bod 3', 'pero.jpg', 49.119498,18.441715, 3] ];
var cerpacie_stanice = [ ['OMV', 'stetec.jpg', 49.122167,18.460678, 1], ['Shell', 'stetec.jpg', 49.102846,18.438853, 2], ['Agip', 'stetec.jpg', 49.112472,18.448163, 3] ];
function show(what) {
var map = new google.maps.Map(document.getElementById('mapa'), { zoom: 14, center: new google.maps.LatLng(49.114004,18.448012), /* streetViewControl: true, overviewMapControl: true, overviewMapControlOptions: true, scrollwheel: true, panControl: true, scaleControl: true, mapTypeControl: true, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN_MENU }, zoomControl: true, zoomControlOptions: { style: google.maps.ZoomControlStyle.LARGE, position: google.maps.ControlPosition.RIGHT_TOP }, */ mapTypeId: google.maps.MapTypeId.HYBRID });
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < what.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(what[i][2], what[i][3]), map: map, icon: what[i][1] });
google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(bary[i][0]); infowindow.open(map, marker); } })(marker, i)); }
/* for (i = 0; i < cerpacie_stanice.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(cerpacie_stanice[i][2], cerpacie_stanice[i][3]), map: map, icon: cerpacie_stanice[i][1] });
google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(cerpacie_stanice[i][0]); infowindow.open(map, marker); } })(marker, i)); } */ }
</script> </div>
</body> </html>
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 06.04.2011 17:22 | |
|
nooo takto si to nejak predstavujem.. len trochu ta mapa preblikuje
a neviem preco si si napisal vlastnu inicializaciu mapy... a moju si zakomentoval
da sa tam este spravit.. aby ti nacitanie sa zobrazilo nahodne nejake body.. nejaka kategoria... az to neni prazdne?
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 06.04.2011 17:27 | |
|
No to už by pre teba nemal byť problém...
Ešte napíš či a koľko za to berieš a pridaj nejakého smailíka. Na tekéto požiadavky už nebude v budúcnosti reagovať...
Tú tvoju inicializáciu som zakomentoval preto že to nieje žiadna inicializácia.
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 06.04.2011 17:32 | |
|
D vtipne DDD ze kolko za to beriem? D chces to v SK ci Euro? DD vlastne nula je stale nula
robim projekt povazska.com uz nejaky rok.. a zatial som stale v minuse a nikdy sa nedostnem ani na nulu.. robim to ako hobby...
Ale diky moc.. fakt si mi pomohol.. a nebolo to az take tazke.... raz ti pomozem ja.. ked budem v niecom vacsi pan
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 06.04.2011 17:40 | |
|
Aspoň že tak...
|
|
Registrovaný: 08.04.08 Prihlásený: 04.08.14 Príspevky: 40 Témy: 8 | Napísal autor témy miro-boss: 06.04.2011 18:05 | |
|
ja som fakt vdacny clovek... lebo v tejto dobe je o pomoc nudza... ja sa vzdy radsej snazim pomoct si sam.. ale niekedy to skratka nejde...
|
|
| Stránka: 1 z 1
| [ Príspevkov: 25 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|