-
Fototrend
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
-
j0k3r!
senior tag
megoldottam:
<script language="javascript" type="text/javascript">
function szincsere(color)
{
var szin=color;
document.getElementById("kozepso").style.background=szin;
}
</script>csak googlen sokhelyen "background-color" -t irtak...
some men just wanna watch the world burn...
-
-
Sk8erPeter
nagyúr
Azért írnak background-color-t, mert az konkrétan csak a színt módosítja CSS-ben, és az is helyes, csak backgroundColor formában elérhető (mindjárt bővebben). A sima background-dal több dolgot is lehet módosítani, lásd ezt: [link]. Pl. megadhatsz egy színt, és még mellé egy url-t, ahol az a kép található, amit a szín mellett még be akarsz pakolni háttérbe, ahogy a w3schools példája is írja:
body {background: #00ff00 url('smiley.gif') no-repeat fixed center;}A sima background-color is helyes, de remélem tudod, hogy JavaScriptben nem mindegy, hogy nagy- vagy kisbetűt írsz, és a JavaScript-es szintaktikának megfelelően adod-e meg, a background-color tulajdonságot így tudod megadni ([link] - JavaScript syntax):
object.style.backgroundColor="#00FF00"
Tehát nem kötőjellel, hanem egybe, és nagy C-vel adod meg (backgroundColor).
Ezekre figyelni kell, különben nem fog működni a kódod. Mindig nézd meg a helyes szintaktikát - például a w3schools-on (itt elég áttekinthető és könnyen megtalálható) -, mert a JavaScriptes stílusmódosítások szintaktikája sokszor nem egyezik meg a CSS szintaktikájával (de hasonló).[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
Egy kissé túlbonyolítottad.
A függvény:
<script language="javascript" type="text/javascript">
<!--
function szincsere(color,melyik){
melyik.style.backgroundColor=color;
}
// -->
</script>A lista:
<ul id="menu">
<li class="piros"><a onclick="szincsere('#FF0000',this);">PIROS</a></li>
<li class="narancs"><a onclick="szincsere('#FFA500',this);">NARANCS</a></li>
<li class="citrom"><a onclick="szincsere('#FFFF00',this);">CITROM</a></li>
<li class="zold"><a onclick="szincsere('#00FF00',this);">ZOLD</a></li>
<li class="kek"><a onclick="szincsere('#4876FF',this);">KEK</a></li>
<li class="lila"><a onclick="szincsere('#9400D3',this);">LILA</a></li>
</ul>Működik.
[ Szerkesztve ]
Sk8erPeter
-
shev7
veterán
igen, a legegyszerubb, ha azokra az elemekre amikre hivatkozni akarsz, van id-d.
Vagy lehet az un. DOM tree-ben lepkedni: ehhez a nextSiebling, previousSiebling, parentNode, childNodes property-ket lehet hasznalni, de ez elobb-utobb igen csunya, olvashatatlan kodot eredmenyez...
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
Sk8erPeter
nagyúr
Igen, lehet document.getElementById alapján is, egy for ciklussal, és akkor mondjuk egy tömbbe bepakolhatod az id-ket:
var tomb=new Array("ez", "az", "amaz");
for(var i=0;i<tomb.length;i++)
document.getElementById(tomb[i]).style.backgroundColor="red";Meg persze childNodes-zal is meg lehet oldani, de az valóban átláthatatlan lehet egy idő után, ahogy shev7 is írta.
Sk8erPeter
-
Sk8erPeter
nagyúr
Mielőtt elkezdeném kegyetlenül bámulni a kódot, hogy kibogarásszam, mi a hiba, inkább Te írhatnád le, mi a hibajelenség, mi nem működik, mit nem csinál, ne nekünk kelljen már kitalálni. Egyáltalán nem megy, nem vált színt? Amúgy van valami különleges célod azzal, hogy paraméterként is átadod a háttérszínt, meg még külön tömbben is tárolod? Mert ha a "kozepso" elemnek szeretnéd átadni ugyanazt a színt, mint amit kap az aktuális klikkelt elem, akkor tök felesleges paraméterként is átadni (vagy épp a tömb felesleges, ez a Te döntésed).
Sk8erPeter
-
Sk8erPeter
nagyúr
Tehát van CSS-sel hover tulajdonság is beállítva, hogy ha föléviszed az egeret, megváltozzon a színe a beállítottra, de azt szeretnéd, hogy menüpontra kattintáskor változzon meg a "kozepso" elem színe olyanra, amilyen a kattintott elemnek CSS-sel a hover-re van beállítva, és a kattintott elemnél meg is maradjon ugyanaz a háttérszín, mint amit CSS-sel hover-rel beállítottál? Csak hogy egész pontosan értsem, mit szeretnél.
Sk8erPeter
-
Sk8erPeter
nagyúr
Jahh, de most nézem a listádat, és a <li> elem után van egy <a> tag, aminek viszont egyáltalán nincs id-je, Te meg a paraméterlistában a this-szel az <a> elemet adod át, tehát a melyik.id (ami jelen esetben az <a id=""> lenne) soha nem lesz ugyanaz, mint a <li> id-je, mivel nincs is neki egyáltalán id-je. Remélem érthető volt, bár kissé zagyván fogalmaztam.
Tehát az <a> elemnek is adj id-t (ne ugyanaz legyen, mint a <li> elemnek, mert az helytelen), és aszerint hivatkozz rá a függvényben.
Mindenképp sokat segítene, ha feltöltenéd valahova (valami ingyenes tárhelyre, pl. fw.hu, atw.hu, vagy tök mindegy), mert akkor nem kéne annyit visszakérdezni, hogy mit is szeretnél, meg egyből láthatnánk az esetleges hibát.Sk8erPeter
-
Sk8erPeter
nagyúr
Szívesen!
Mérd le valami képlopóval (pl. HyperSnap [van belőle próbaverzió] vagy valami ingyenes), vagy ilyen böngészőhöz való pluginnel/widgettel (mint pl. Operánál a Screen Ruler), hogy hány pixeles dobozka lenne számodra ideális, és azt add meg a CSS-fájlodban.
Sk8erPeter
-
Sk8erPeter
nagyúr
Majdnem tökéletes, amit írtál, csak annyi a baj, hogy a JS kis- és nagybetűérzékeny, és nálad az a rossz, hogy nagy kezdőbetűvel írtad a colort (Color-t írtál), tehát így jó (pl. piros színnel):
document.getElementById('id').style.color='#FF0000';
Ilyenkor, ha nem működik, érdemes megnézni a helyes szintaktikát pl. a w3schools megfelelő oldalán, pl. a color tulajdonságé itt van: [link]
JavaScript syntax: object.style.color="#FF0000"Sk8erPeter
-
shev7
veterán
dehat a celladnak nem is id az id-ja hanem s01...
document.getElementById('s01').style.color="#FFFFFF"; igy mar menni fog.
Ha js-t probalgatsz, akkor erdemes valamilyen dev toolbar-t hasznalni. IE8-ban es chromeban alapbol van, ff-hoz ott a firebug. Ha ilyen js error van a kododban, egybol jelezne.
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
fordfairlane
veterán
A script működik, elküldi a requestet. Kérdés, hogy a gallery.html a megfelelő helyen van-e, mert a response feldolgozásánál csak akkor kerül bármi is kiírásra, ha 200-as kód jön vissza, azaz a webszerver megtalálta a gallery.html-t.
(xmlhttp.readyState==4 && xmlhttp.status==200)
Kivettem a xmlhttp.status==200 ellenőrzést, és nekem szépen kiírta a 404-es hibaüzenetet a megfelelő id-jű elembe.
[ Szerkesztve ]
x gon' give it to ya
-
fordfairlane
veterán
Így nem jó, mert href-be nem rakhatsz csak úgy javascript kódot, abba url-t kell tenni. Tegyél elé egy javascript: -tagot (javascript:loadXML...) , vagy inkább használd az onclick -et, ahogy az előző példában van.
Most jövök rá, mi lehet a gond. Az ajax lekérés akkor fog működni, ha webkiszolgálón keresztül megy. Helyi fájlrendszerből, webszerver nélkül nem.
[ Szerkesztve ]
x gon' give it to ya
-
Speeedfire
nagyúr
Este már megoldottam, csak nem akartam még 1x postolni magam után.
A js:
function o(n, i) {
document.images['thumb-'+n].src = i;
}
function f(n) {
document.images['thumb-'+n].src = '../images/trans.gif';
}A php kód:
echo '
<a href="'.$nagy.$file.'" target="_blank" onmouseover="o(\''.$i.'\',\''.$kicsi.$file.'\');" onmouseout="f('.$i.');"> '.$file.'
<span class="adminkep"><img style=border:none;background:none; name="thumb-'.$i.'" src="../images/trans.gif" alt="'.$file.'" ></span></a><br /> ';Márcsak a képet kell megfelelően pozicionálni és kész is vagyok.
Sk8erPeter: Hát nem tudom. De már nincs escapelve.[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Inv1sus
addikt
Megoldottam php-val inkább. Javascriptre még rá kellene gyúrnom egy kicsit, mert jelenlegi tudásommal elég idegesítőnek találom a használatát.
De köszönöm, hogy segíteni próbáltál. Csak sajnos már bezavarodott a kód az adott problémától függetlenül is és inkább nem fecséreltem az időt vele...
[ Szerkesztve ]
*** WEBDESIGN, GRAFIKUS DESIGN, FRONT-END PROGRAMOZÁS ***
-
martonx
veterán
Na, ez a CTRL+P tényleg hasznos volt, pontosabban kötelező, köszi!
@Jim-Y: most alul megint megláttam azt a külön részt, amin a Console, Emulator stb... osztozik. Ezen a közös ablakos, dupla menüsoros megoldáson annyiszor dobom el az agyam, ahányszor meglátom.
Na mindegy, nincs értelme itt egymást győzködni, én csak leírtam a véleményemet, nem akarok senkit meggyőzni semmiről.
Én kérek elnézést!
-
Új hozzászólás Aktív témák
- Asus Rog Ally Z1 Extreme
- SAPPHIRE INCA EP-10 - 10 x RX 5700 XT - professzionális bányászgép - eladó!
- Samsung Galaxy S22 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo Legion 7, 16,0"WQXGA, Ryzen 9 6900HX, 32 GB DDR5, RX6850M XT 12 GB, 1TB SSD, 1,5+ év garancia
- Corsair RM850e 850W Gold Moduláris Tápegység
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest