- iPhone topik
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy A56 - megbízható középszerűség
- Nokia 8 Sirocco - tudja, honnan fúj a szél
- iGO Primo
- Samsung Galaxy S23 Ultra - non plus ultra
- Honor Magic5 Pro - kamerák bűvöletében
- Yettel topik
- Fotók, videók mobillal
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Zoli1222 #1695 üzenetére
Ide is feltettem a kódot, így innen letölthető: [link]
Az onclick esemény az option-re nem használható, arra csak az onchange való!
A kódodban ennek a résznek:
...onChange="this.options[this.selectedIndex].value,'_top'"
röviden és tömören semmi értelmeSemmit nem csinálsz onchange eseményre.
-
Sk8erPeter
nagyúr
válasz
Zoli1222 #1695 üzenetére
De, természetesen lehet.
Először elkezdtelek volna rávezetni, de aztán úgy gondoltam, ki is próbálom, úgyhogy ha már megcsináltam, ne vesszen kárba.Itt látható alább a komplett működő kód (valid XHTML 1.0 Strict résszel együtt
):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScripttel változtatott listák</title>
<script type="text/javascript">
<!--
var napok = new Array();
napok["Hétfő"] =new Array("1","2","hétfő vége");
napok["Kedd"] =new Array("3","4","kedd vége");
napok["Szerda"] =new Array("5","6","szerda vége");
napok["Csütörtök"] =new Array("7","8","csütörtök vége");
napok["Péntek"] =new Array("Pénteken nincs óra! :)");
function betolt(opcio)
{
for(var nap in napok)
{
if(opcio==nap){
var ora_lista=document.getElementById('orak_lista');
ora_lista.innerHTML = '<option selected="selected">Válaszd ki az órát a listából!</option>';
for(var ora in napok[nap]){
ora_lista.innerHTML += '<option>'+napok[nap][ora]+'</option>';
}
}
}
}
// -->
</script>
<style type="text/css">
form{
margin:40px;
}
</style>
</head>
<body>
<form action="">
<div>
<select name="lista" size="1" onchange="betolt(this.options[this.selectedIndex].value);">
<option selected="selected">Melyik nap legyen...</option>
<option>Hétfő</option>
<option>Kedd</option>
<option>Szerda</option>
<option>Csütörtök</option>
<option>Péntek</option>
</select>
</div>
</form>
<form action="">
<div>
<select id="orak_lista" size="1">
<option selected="selected">Előbb valaszd ki a napot!</option>
</select>
</div>
</form>
</body>
</html> -
Sk8erPeter
nagyúr
válasz
Zoli1222 #1689 üzenetére
Máshol viszont hasznos lehet, így nem árt, ha tisztában vagy a működésével!
Pl. ott jöhet jól, ahol a látogató előbb-utóbb szinte biztos, hogy látni fog valamilyen képet, és akkor jó, ha egyáltalán nem kell várnia a betöltődésére (azt minden júzer szereti, ha gyorsan betöltődik a tartalom). -
Sk8erPeter
nagyúr
válasz
Zoli1222 #1687 üzenetére
Van egy ilyen sorod a head részben lévő scriptnél:
//kepek = new Array("Kecskemét.jpg","Szeged.jpg","Szekszárd.jpg");
Szedd ki a kommentet jelző két perjelet.
A body-ban van egy ilyened:
<script>
kepek = new Array("Kecskemét.jpg","Szeged.jpg","Szekszárd.jpg");
</script>
Ezt töröld ki. (A head-ben lévő scriptben legyen az előtöltés.
Még hozzátennék az egészhez annyit, hogy illik deklarálni a változókat, mielőtt használod, JavaScriptben illik elétenni a "var" kulcsszót, pl. var megye=new Array(...);Innentől az előbb mutatott példa alapján nem értem, melyik része nem világos.
A példám analógiájára esetedben a for ciklus a következő:
//előtöltés
for(var i=0;i<kepek.length;i++){
var img=new Image();
img.src=kepek[i];
}
Most itt a var img helyett lehet nálad felőlem var Pityipalko is, csak ennek megfelelően használd utána is (Pityipalko.src=...;)Ha meg ezt az egészet onload eseményhez szeretnéd kötni, akkor pakold bele ezt a for ciklust egy függvénybe (pl. function elotoltes(){...} ), és a body-nál pakold bele az onload-ba a függvény meghívását:
<body onload="elotoltes();">Még egy megjegyzés:
van a function kiir(i) függvényed, ezt így hívod meg: kiir([0]), és bár ez működik, alapvetően nem "szabályosan" hívod meg, helyette írd simán így: kiir(0), mivel ilyen módon szerepel a függvényed fejlécében is... Te most nem egy tömböt szeretnél átadni paraméterként, hanem csak egy számot.Ha meg szeretnéd figyelni, hogy működik-e az előtöltés, akkor a HTML-részből átmenetileg töröld ki az <img ...> tageket, hogy a böngésző ne töltse be a képeket akkor is, ha a JavaScript függvényed egyébként nem működik (jelen esetben egyébként nem is értem, minek az előtöltés, amikor a böngésző így is-úgy is betölti az általad beillesztett képeket az <img ...> tagek miatt, ahol megadod az src-nél az elérési utat!!
), majd pl. a Firebug (FF-beépülő) program NET fülénél figyeld meg, hogy megtörténik-e a betöltés. Itt ugyanis nyomon követhető többek között az is, hogy milyen képeket tölt be (és mennyi idő alatt!) a böngésző az oldal megnyitásakor.
-
cucka
addikt
válasz
Zoli1222 #1663 üzenetére
Már párszor leírtam más topikokban is, de még egyszer. Ha arra vársz, hogy megtanítsanak és beleöntsék a tudást a fejedbe és nem vagy képes magadtól, tutorial-ok és dokumentáció alapján megtanulni, akkor inkább válassz más szakmát. (És ezt vedd konstruktív jó tanácsnak, ne úgy értsd, hogy leszólok a magas lóról)
-
Sk8erPeter
nagyúr
válasz
Zoli1222 #1659 üzenetére
Szívesen!
Na, most látom, hogy azt elfelejtettem odaírni az előbb, hogy kell egy olyan elem is, amibe belerakod a szöveget, de gondolom az egyértelmű.A példa szerint, ahol meghívtam a fv.-t, pl. <div id="szoveg"></div>, és akkor ebbe fogja belepakolni a kiírandó szöveget.
Egyébként végül órán hogy oldottátok meg?
Kíváncsi lennék rá, egyébként ezernyi megoldás van még, csak ez jutott eszembe elsőre, meg ez viszonylag rövid.
-
Sk8erPeter
nagyúr
válasz
Zoli1222 #1657 üzenetére
Én ilyen jellegű megoldásra gondoltam (remélem a nevekből minden érthető), ez végül is komplett megoldás:
HEAD részbe ez megy:
<script type="text/javascript">
<!--
function formazgatas(valami_szoveg, hova_id)
{
var formazott=valami_szoveg.replace(/\s/g,' ');
var kiiras_helye=document.getElementById(hova_id);
var kiirando='';
formazott=formazott.split(' ');
for(var i=0;i<formazott.length;i++)
{
if(i%2==0)
kiirando+='<b>'+formazott[i]+'</b> '; //félkövér szöveg
else
kiirando+='<i>'+formazott[i]+'</i> '; //dőlt szöveg
}
document.getElementById(hova_id).innerHTML=kiirando;
}
// -->
</script>Meghívni meg mondjuk egy BODY-ba tett gombbal lehet:
<input type="button" onclick="formazgatas('ez egy pár szavas szöveg lesz, amit formázva kiírok', 'szoveg');" value="Formázás" />
-
Sk8erPeter
nagyúr
válasz
Zoli1222 #1655 üzenetére
[link] >> nagyjából ezzel a módszerrel nézegeted végig a szavakat, hogy hol vannak szóközök, és még ehhez beteszed annak az ellenőrzését is, hogy mondjuk a for ciklusban használt i változó páratlan vagy páros-e, és annak megfelelően elécsapsz mondjuk egy <b>-t, mögé </b>-t, illetve <i>-t és </i>-t.
-
Sk8erPeter
nagyúr
-
EmberXY
veterán
válasz
Zoli1222 #1604 üzenetére
Nincs mit, amit írtam, az végülis akkor lenne célszerű, ha konkrét űrlapon dolgozunk (--a kódban, amit írtál, a js hoz létre egy formot, tehát nincs alapból megadva az űrlap--), ott aztán akármit be lehet kérni, rengeteg módon meg lehet hívni az előre megírt js függvényeket, én általában mindig ilyen űrlapokkal szoktam dolgozni, ha adatokat kell bekérni.
-
EmberXY
veterán
válasz
Zoli1222 #1600 üzenetére
Elnézést, hogy belekontárkodok, de hátha tudok én is segíteni, ha már erre járok..
Ha jól értelmezem a dolgot, akkor 3 értéket szeretnél bekérni, amikkel azután a script elvégzi a számításokat..
Én 3 szövegmezőt adnék meg, az adott űrlapon, értelemszerűen a 3 érték bekéréséhez, testreszabás már részletkérdés, csak legyen elnevezve mindegyik (mezo1, stb) majd a váltózókat úgy hoznám létre, hogy
var a=parseInt(document.form_neve.mezo1.value);
var b=parseInt(document.form_neve.mezo2.value);
var c=parseInt(document.form_neve.mezo3.value); (ha tizedestört is lehet az érték, akkor parseFloat...), így a változók azt az értéket fogják tartalmazni, amit beírtál az egyes mezőkbe..
Aztán persze különféle ellenőrzéseket be lehet iktatni, hogy csak helyes formátumot vihessenek a mezőbe, ne írkálhassanak be mindenféle karaktereket, stb, de ez már részletkérdés..
Remélem, hogy segítettem. -
Sk8erPeter
nagyúr
válasz
Zoli1222 #1587 üzenetére
Mármint úgy érted, hogy nem HTML-elemben szeretnéd megjeleníteni, tehát nem kéne lekérdezni a getElementById-vel az adott HTML-tag azonosítóját?
Akkor még rövidebb lesz, ha csak egy változóba szeretnéd eltárolni (persze a Te dolgod, hogy eldöntsd, ezzel mit szeretnél kezdeni):
az alábbit cseréld le:
document.getElementById('date').innerHTML="A mai dátum: "+year+"."+month+"."+day+". ("+day_name[day_number]+"), "+h+":"+m+":"+s;
erre:
var akarmi_valtozo;
akarmi_valtozo="A mai dátum: "+year+"."+month+"."+day+". ("+day_name[day_number]+"), "+h+":"+m+":"+s;
Ezzel eltároltál az akarmi_valtozo-ba egy összepakolt sztringet. -
Sk8erPeter
nagyúr
válasz
Zoli1222 #1583 üzenetére
Én ezt a következőképp oldanám meg. A w3schools oldalán található egy elég érthető példa egy óra működéséről: [link]
Ezt némiképp átalakítottam, és itt van két komplett függvény, ami mutatja az időt és a 2000 óta eltelt éveket is:function startTime()
{
var today=new Date();
var year=today.getFullYear(); //év
var month=today.getMonth()+1; //0-tól kezdődik, ezért hozzáadunk 1-et
var day=today.getDate(); //a hónap hányadik napja (1-31)
var day_number=today.getDay(); //hányadik nap a héten (0-6)
var day_name=new Array("vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"); //a 0. nap mindig a vasárnap! ld.: http://www.w3schools.com/jsref/jsref_getday.asp
var h=today.getHours(); //óra
var m=today.getMinutes(); //perc
var s=today.getSeconds(); //mp
// 10 alatti számok elé egy 0-t pakolunk
month=checkTime(month); //hó
day=checkTime(day); //nap
m=checkTime(m); //perc
s=checkTime(s); //mperc
//kiírjuk a 'date' id-del rendelkező elembe (id="date")
document.getElementById('date').innerHTML="A mai dátum: "+year+"."+month+"."+day+". ("+day_name[day_number]+"), "+h+":"+m+":"+s;
//2000.01.01 óta eltelt évek, hónapok, napok (id="time_2000")
document.getElementById('time_2000').innerHTML="A 2000 eleje óta eltelt évek, hónapok, napok: "+(year-2000)+" év, "+(month-1)+" hónap, "+(day-1)+" nap.";
t=setTimeout('startTime()',500); //önmagát meghívja
}
function checkTime(i){
return (i<10)?("0"+i):(i);
}A HTML-ben szerepeljen így:
<div id="date"></div>
<br />
<div id="time_2000"></div>És a <body> részt alakítsd át így: <body onload="startTime();">
Ha csakis a napot, és nem a teljes dátumot szeretnéd kiíratni, akkor így oldható meg a függvényen belül:
document.getElementById('date').innerHTML="Aktuális nap: "+day_name[day_number];Remélem érthető.
-
Sk8erPeter
nagyúr
válasz
Zoli1222 #1578 üzenetére
Igen, nem nehéz:
var i,szam=2,kitevo=10,hatvany=1;
for(i=0;i<=kitevo;i++){
document.write(i+". hatvány: "+hatvany%3+" | ");
hatvany*=szam;
}Csak a hatvany%3 a lényeg, de formáztam, nehogy kétségbe ess, hogy rossz eredményt kaptál.
De ugye tudod, hogy itt a 3-mal való osztás maradékai egészen logikusan 1-esek és 2-esek lesznek?A hatványozás résznek még van értelme, de ennek a 3-as maradéknak nem sok...
Gratulálok az új avatarhoz!
Még egy FG-os avatar.
Új hozzászólás Aktív témák
Hirdetés
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- iPhone topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Elektromos autók - motorok
- BestBuy ruhás topik
- VR topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Építő/felújító topik
- További aktív témák...
- iKing.Hu - Apple 16 Pro Max - Natural Titanium - Új, kipróbált
- LG 25GR75FG - E-Sport Monitor - FHD 360Hz 1ms - NVIDIA Reflex + G-sync - AMD FreeSync - HDR 400
- Csere-Beszámítás! Számítógép PC Játékra! Intel I7 6700/ RX 580 8GB / 32GB DDR4 / 500GB SSD
- Samsung Galaxy A35 5G 128GB Kártyafüggetlen 1Év Garanciával
- BESZÁMÍTÁS! ASUS ROG Zephyrus GA403UV Gamer notebook - R9 8945HS 16GB RAM 1TB SSD RTX 4060 8GB WIN11
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest