Jump to content
php.lv forumi

div "paslēpšana zem linka"


Sugarfree

Recommended Posts

Pamatideja ir tāda:

 

Sākums (apraksts par A)

 

Zemāk seko links. (slēpj saturu B)

_____________________

nakošais content ir paslēpts līdz tiek uzpiests links. Parādās saturs B, iepriekšējais saturs tiek paslēpts "zem linka"

_____________________

 

seko vēl 2. links, kas arī "slēpj saturu C"

 

3. links

 

utt...

 

end>

 

Nezinu pat kā tas īsti saucās un ko meklēt... Ir tāda lieta redzēta "dzīvē", bet tagad uzreiz pat nepateikšu kurā lapā. Ceru, ka doma ir skaidra.

Link to comment
Share on other sites

Atradu tepat forumā ļoti vienkāršu risinājumu. Paldies Grey_Wolf...

Viss, protams, strādā, taču vai tiešām neviens man nevarētu, lūdzu, paskaidrot kā izdarīt sekojošu lietu:

 

Lūk kods:

 

<script>
var x1=0;
var x2=1;
function bla(kas,id)
{
 if(kas==1)
 {
document.getElementById(id).style.display='block';
kas=0;
 }
 else
 {
document.getElementById(id).style.display="none";
kas=1;
 }
return kas;
}
</script>

<div onclick="x1 =bla(x1,'xx1'); return false;">Link1</div></a>
<div id="xx1" style="display:none">Saturs1</div>

<div onclick="x2 =bla(x2,'xx2'); return false;">Link2</div>
<div id="xx2" style="display:none">Saturs2</div>

 

Abi div saturi tātad ir paslēpti, jo neesmu norādījis style="display:block", bet vai ir iespējams iztaisīt tā, lai ievadot linku pārlūkā, piemēram - sample.lv/katalogs/#link1 uzreiz arī paradītos Saturs1 un otrādi, #link2 un paraādās Saturs2, kamēr Saturs1 ir aizvērts.

 

Ja vēl tomēr tā doma nav skaidra, tad iedomāsimies, ka man vajag, piemēram, iekš FAQ jaunam lietotājam iedot izlsīt Saturs2. Ka to izdarīt? Var jau pielikt klāt anchor katrai sadaļai, bet gribētos, lai tas satura div uzreiz ir atvērts.

Link to comment
Share on other sites

Uztaisi ciklu pie katra klikšķa uz linka, kas iziet cauri visiem elementiem, ko jāpaslēpj, un paslēpj un pie viena arī pārbauda, vai pa vidu ciklam nav tas, ko jāatver. Tad to arī tajā ciklā uzliek kā atvērtu.

 

Ja gribi uz lapas ielādi, lai nolasa no hasha, tad var pačekot uz onload document.location.hash, un tad, ja hash pastāv, ciklot cauri visiem elementiem ar to pašu funkciju kaut vai, un atvērt to, kas sakrīt ar hashu.

 

function bla(id) {
for (var i = 1,l = 2, el; i<=l; i++) {
if ((el = document.getElementById('xx'+i))) {
 el.style.display = el.id === id ? 'block' : 'none';
}
}
}

 

Tas ir, ja visiem atveramajiem logiem ir id xx1, xx2 utt pēc kārtas.

uz linka attiecīgi palaiz onclick="bla('xx1'); return false;"

 

onload hasham var izmantot to pašu funkciju <body onload="if (document.location.hash) { bla(document.location.hash.substr(1)); }"> un hashā ir #xx1, #xx2 utt

Link to comment
Share on other sites

×
×
  • Create New...