Autor Zpráva
Petr791
Profil *
Přeji pěkné odpoledne,...
Potřeboval bych poradit s rozbalovacím článkem (který je dole):

Vše funguje jak má, až na to, že když rozbalím článek rozbalí se na novém řádku a to bych potřeboval změnit. Potřebuju, aby se mi rozbaloval v původní větě.
Například:
Dnes je ale horko. (*a věta pokračuje dál)
Klikne se na "horko" A věta bude: Dnes je ale horko (robalí se na stejném řádku, hnedka za slovem>>) a přitom je teprve prosinec... (*a věta pokračuje dál)

_________________________

<script type="text/javascript">
function ukaz(u){
el = document.getElementById(u).style;
el.display = (el.display == 'block')?'none':'block';
}
</script>

Píšu tady text <a href="#01" onclick="ukaz('clanek01');">a tady odkaz na rozbalovací článek.</a>
<k style="display: none;" id="clanek01"> Nyní jsem otevřel článek </k>
A tady vše pokračuje...
_________________________

Pokud někdo ví budu rád, když mi poradíte. Petr
Keeehi
Profil
Petr791:
<k style="display: none;" id="clanek01">
Tag k opravdu neznám. Jak se k tomu budou chovat prohlížeče opravdu netuším.

Aby to bylo na jednom řádku, tak místo block musíš použít inline, případně si s bloky zaplavat.

<script type="text/javascript"> 
function ukaz(u){ 
el = document.getElementById(u).style; 
el.display = (el.display == 'none')?'inline':'none'; 
} 
</script> 

Dnes je ale <a href="#01" onclick="ukaz('clanek01');">horko</a><span style="display: none;" id="clanek01"> a přitom je teprve prosinec...</span>

Pokud bys to potřeboval blokově, tak buď plavat a nebo jednodušší by bylo prostě dva bloky zaměňovat:
<script type="text/javascript"> 
function ukazskryj(u){ 
el = document.getElementById("clanek"+u).style;
el.display = (el.display == "block")?"none":"block"; 
el = document.getElementById("perex"+u).style; 
el.display = (el.display == "block")?"none":"block"; 
} 
</script> 

<div style="display: block;" id="perex01">Dnes je ale <a href="#01" onclick="ukazskryj('01');">horko</a></div>
<div style="display: none;" id="clanek01">Dnes je ale <a href="#01" onclick="ukazskryj('01');">horko</a> a přitom je teprve prosinec...</div>
Petr791
Profil *
Díky moc... A s tím "k" mi to funguje na všech základních prohlížečích. Zkoušel jsem to.
Chamurappi
Profil
Reaguji na Petra791:
Rozhodně to nefunguje v Explorerech 7 a nižších. Nemusí to fungovat nikde, protože element jménem <k> v HTML neexistuje, takže ani není definováno, co by na něm měl dělat atribut style.
Keeehi
Profil
Petr791:
Možná že to funguje, avšak o tagu k jsem nikdy neslyšel. Mohl by jsi mi napsat zdroj, ve kterém jsi tag k našel?
Petr791
Profil *
nenašel jsem to nikde... Jsem amatér a prostě jsem to vyzkoušel... a na Firefoxu mi to jede.
A chtěl jsem se ještě vrátit k tomu co si mi napsal.

Použil jsem ten "inline". Přesně jsem to nakopíroval a když kliknu na to slovo, tak mi to nejde otevřít.
Keeehi
Profil
V [#2] upraveno a už by to mělo fungovat.

Petr791:
nenašel jsem to nikde... Jsem amatér a prostě jsem to vyzkoušel... a na Firefoxu mi to jede.
Tak používej raději ty, co existují. Viz třeba http://www.jakpsatweb.cz/html/.
Petr791
Profil *
dík, funguje to
Petr791
Profil *
Ještě bych měl jeden dotaz na stejné téma. Potřeboval bych poradit, jak to udělat opačně. Aby článek už byl otevřený, když přijedeme na stránku a aby jsme ho mohli případně, zavřít.

Viz:
http://cs.wikipedia.org/wiki/Druh%C3%A1_sv%C4%9Btov%C3%A1_v%C3%A1lka

Podívejte se, jak má wiki udělaný obsah.

Díky
Keeehi
Profil
Petr791:
Použij hlavu. Určitě na to přijdeš. Je to záměna jen jednoho slova (u inline varianty, u varianty záměny bloků jsou to dvě slova).
Petr791
Profil *
napadlo mě zavri:d Ale to nefunguje
Keeehi
Profil
Místo display: none dáš display: inline nebo display: block, podle toho kterou variantu sis vybral.

Začínám mít pocit, že ani kousíček z toho kódu není tvoje práce.
Petr791
Profil *
díky za pomoc. A máš pravdu není.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: