Avaleht
uus teema   vasta Tarkvara »  WWW »  javascript - automaatne menüü taustavärv märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Risto40
HV vaatleja

liitunud: 31.10.2004




sõnum 24.11.2009 12:39:44 javascript - automaatne menüü taustavärv vasta tsitaadiga

selline küsimus, et kas keegi javascripti tundja oskaks kirjutada sellise asja, et olenevalt lehe sisust muutub vastava menüü rea taustavärv etteantud värviks (või laetakse uus css)? Olen mõelnud, et põmst peaks asi kuidagi nii olema, et kuna lehe sisu on alati eraldi tabelis, siis tuleks anda tableile id="sisu" ja name="uudised", kus ID on alati sisu kuvavas tabelis olemas (ka sellepärast, et css määrata). NAME aga selleks, et menüüs kuidagi funktsioon tööle panna, nt getNameById('sisu'). Seejärel, kui Name on käes, siis võrreldakse seda menüü rea (menüü on samuti tabelina esitatud) NAME väärtustega ja juhul kui need kattuvad, siis muudetakse taustavärv nt helehalliks (või võetakse uus css stiil kasutusele). Kui ei kattu, ei tehta midagi.
Et paremini tablitest-asjadest aru saada siis:

<table width="100" border=1">
<tr name="syndmused">
<td>
sündmused
</td>
</tr>
<tr name="uudised">
<td>
uudised
</td>
</tr>
</table>

</br>

<table width="100" id="sisu" name="uudised" border=1">
<tr><td>
uudised
</td></tr>
</table>

Keerulisemaks teeb asja vist see, et kuna menüü linke on mitu (uudised, syndmused jne), siis tuleks lehe laadimisel see iga menüü rea peal läbi teha. Kui keegi oskab ehk lahendust pakkuda, oleks viimase peal. Ise kahjuks peale HTMLi veebiehitusest suurt midagi muud ei tea.
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 24.11.2009 13:21:43 vasta tsitaadiga

Kuna sa ei kasuta Ajax it vaid laed lihtsalt iga lehe uuesti, siis selleks pole mõtet JS kasutada, kirjutad selle php koodi sisse.
Mingi muutuja sul ju get infis jookseb, millist lehte kuvad. Oletame, et sul tuleb lk=1, lk=2 jne.
Seda sama muutujat kasutadki.

<?php
if($_GET['lk']==1){$varv="#22aaff";$varv2="#ccaaff";}
if($_GET['lk']==2){$varv="#2200ff";$varv2="#cccccc";}
?>

<tr name="syndmused">
<td style="background:<?php echo $varv; ?>;">
sündmused
</td>
</tr>
<tr name="uudised">
<td style="background:<?php echo $varv2; ?>;">
uudised
</td>
</tr>


JS saad elemendi stiili muuta

document.getElementById('mingiID').style.background = "#cccccc";

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Risto40
HV vaatleja

liitunud: 31.10.2004




sõnum 24.11.2009 13:57:21 vasta tsitaadiga

Võibolla ma ei oska praegu hästi välja lugeda, kuidas toodud näide töötab (pean enne järele proovima, te täpsemalt aru saada), kuid mainiksin veel ära, kuidas mu leht on üles ehitatud. Iga sisu fail on mul tglt index.php (syndmused.php, uudised.php jne) ning nendele on include() funktsiooniga külge haagitud menyy (ehk see ei ole igale lehele sisse kirjutatud vaid tuleb kõikidele lehtedele ühest kohast). Ja kuna see on ühest kohast külge haagitud, siis selleks ongi seda võrdluse asja vaja, kus võrreldakse menüü rea nime lehe sisu kuvava tabeli nimega.
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 24.11.2009 14:15:00 vasta tsitaadiga

Kus sa soovid paika määrata selle menüü taustavärvi?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Risto40
HV vaatleja

liitunud: 31.10.2004




sõnum 24.11.2009 14:44:06 vasta tsitaadiga

arvan, et valik peaks vist toimuma menyy failis. Et kui lehekülg on laetud, siis võrreldakse menyy nimesid sisu nimega ning kui on kattuvus, siis muudetakse värv.
aga kuna ma spetsialist pole, siis võib scripti ka kuhugi mujale sokutada. peaasi et asi toimiks.
värvi määramine.. no ideaalne oleks, kui saaksin värvi määrada siiski css's, siis tulevikus lihtsam muuta, kui vaja.
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 24.11.2009 21:16:51 vasta tsitaadiga

Kole kahtlane ehitus, kui ma nüüd õigesti aru sain.

Leht syndmused.php

<html>
<body>
<?php
include('menyy.php');
?>
ja muu sisu
</body>
</html>



uudised.php

<html>
<body>
<?php
include('menyy.php');
?>
ja muu sisu
</body>
</html>


veider lähenemine

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Risto40
HV vaatleja

liitunud: 31.10.2004




sõnum 25.11.2009 08:49:56 vasta tsitaadiga

see on nii, sest kui vaja mõni menüülink hiljem lisada, siis tuleb vaid ühes failis seda teha, kuid muudatus toimub kõigil lehtedel. Kui lehti on päris palju juba, siis on üsna tüütu kõik lehed läbi käia ja menyy ära uuendada.
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 25.11.2009 10:00:50 vasta tsitaadiga

No siis muudad iga lehekülje failis natuke kujundust (style tagiga).
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 25.11.2009 13:23:04 vasta tsitaadiga

tsitaat:
see on nii, sest kui vaja mõni menüülink hiljem lisada, siis tuleb vaid ühes failis seda teha,

enamasti tehakse ikka vastupidi, on pealeht index.php kus on siis menüüd ja muu peamine ja include sinna sisse sisuks siis uudised.php, sisu.php jne.
Seetöttu ma arvasingi, et imelik ehitus ja siis saaks minu eelnenud postituse põhjal juba kujundust muuta, muutes vastavalt leheküljele ka css.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  javascript - automaatne menüü taustavärv
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.