#6 peter
No to dává logiku, ale když budu mít proměnný počet rozklikávacích položek (jedno 5, jindy 10), tak to musím mít takový počet id nebo class? A co když jich budu mít třeba 40? To asi na to bude nějaká finta, aby script věděl "teď jsem klepl na položku X a chci ji rozbalit" ostatní beze změny.
Příspěvky odeslané z IP adresy 89.102.247.–
#4 End
Hmm a mam nějakou chybu v logice věci. Protože záměrem bylo, že mohu rozkliknout jakýkoliv text aniž bych změnil třeba ten předchozí rozkliknutý, prostě se zobrazí vždy jeden z více, což tedy záměr nebyl. To bude asi to, co zminoval peter.... hmm, no, jak jsem psal, uz to tak jako snadny pro mne nevidim.
g#3 peter
Hmm, tak opravený tím prohozením to chodí. No, myslel jsem, že to bude snazší :-(
Přitom nechci nic víc, než docíliti toho, že budu mít nějaký nadpis (třeba jako v příkladu výše HTML) a vedle v hlavičce dvě tlačítka a každé z nich bude ukazovat vlastní text (a vlastí styl css).
Nedal byste to někdo náhodou dohromady?
Zdravím, poradil by někdo prosím, proč se mi text zobrazuje ihned na stránce a proč nefunguje skrývání?
Děkuji
<!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="cs" lang="cs">
<head>
<meta http-equiv="content-Type" content="text/html; charset=utf-8" />
<title>Změna obrázku při najetí kursoru</title>
<style>
.js .obal div div {display: none; padding: .3em .5em}
.js .obal div.show div {display: block}
.js .obal h3 {cursor: pointer}
.obal div {background: #efefef}
.obal div h3 {background: #0D6AB7; color: #fff; padding: .3em .5em}
.obal div.show h3 {background: #1081DD}
a.tlacitko {padding: .5em; background: #D62988; border: 1px solid #B41F71; color: #fff; cursor: default; text-decoration: none; border-radius: 5px}
a.tlacitko:hover {background: #E371AF}
a.tlacitko:active {position: relative; top: 1px; left: 1px}
</style>
<script>
var el = document.getElementById("obal");
el.className += " js";
document.body.className += " js";
function clearAll() {
var div = el.getElementsByTagName("div");
for (var i = 0; i < div.length; i++) {
div[i].className = "";
}
}
function init() {
if (!el) return;
var div = el.getElementsByTagName("div");
for (var i = 0; i < div.length; i++) {
if (div[i].parentNode != el) continue;
div[i].getElementsByTagName("h3")[0].onclick = function () {
var div = this.parentNode;
var puvodni = div.className;
clearAll();
div.className = (div.className == "show" || puvodni == "show") ? "" : "show";
}
}
}
init();
</script>
</head>
<body>
<div class="obal js" id="obal">
<div>
<h3>HTML
<p>To je <a href="http://seznam.cz" class="tlacitko">odkaz</a> — vypadá jako tlačítko.</p>
</h3>
<div><p>HTML rozkliknutý text</p></div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
No, chlapy vy jste se teda do toho dali... Některý kody jsou na mne zatím high level.
O co mi jde a k čemu směroval dotaz bylo, projít položky a když některá splní podmínku, tak ji smazat. Když půjdu od 0 ke .Count tak vznikne problem s přetečením v indexaci. Tak jsem si myslel, že by to šlo obráceně, od .Count k nule, kdy případné smazání by problém (teoreticky) neměl být a chyba v indexaci by neměla (nemůže) nastat. No asi to tedy v C# tak jednoduše nejde.
Tak bych měl další dotaz ohledně C# - ohledně funcionality foreach
int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
foreach (int i in fibarray)
{
System.Console.WriteLine(i);
}
mi vypíše prvky pole pod sebe od indexu nula po poslední. Mohu přes foreach dosáhnout obráceného pořadí? Pokud ano, jak?
Pokud nikoliv, tak samozřejmě přes cykly třeba while. Co když potřebuji ale procházet proměnnou Dictionary<string, int> - nevím, jak se indexem z cyklu pohybovat v Dictionary, kde je klíčem string hodnota.
Děkuji za pomoc.