Autor | Zpráva | ||
---|---|---|---|
Joan Profil |
#1 · Zasláno: 10. 11. 2010, 10:34:04 · Upravil/a: Joan
Zdravím,
našla jsem si na diskusi vlákno, které mi pripadá mému problému velmi podobné. Mně se akce taky stále vykonává jen na posledním místě a už jsem vyčerpala všechny svoje dosavadní nápady. Níže uvedenou část skriptu nedovedu donutit, aby se velké obrázky zobrazovaly postupně - podle toho, odkud beru náhledy - vždy vpravo vedle náhledů: var obrazek = []; //obrazky IMG, ktere se maji premenovat na zvetseniny var nahled = []; for (var k = 1; k < 4; k++) //k=pocet bloku na strance, odkud beru nahledy { obrazek = document.getElementById("tady"+k); //tady se mají objevovat zvetseniny nahled = document.getElementById("blok"+ k).getElementsByTagName("a"); //z techto bloku beru nahledy if(k < 4) { switch(k) { case 1: {nahled = document.getElementById("blok1").getElementsByTagName("a"); nahled.onclick = function() { document.getElementById("tady1").className = pozice1; } break; } case 2: {nahled = document.getElementById("blok2").getElementsByTagName("a"); document.getElementById("tady2").className = "pozice2"; break; } case 3: {nahled = document.getElementById("blok3").getElementsByTagName("a"); document.getElementById("tady3").className = "pozice3"; break; } default: alert("Velký obrázek bohužel\nnelze zobrazit"); } } V případě case 1 jsem se pokusila měnit třídu funkcí, chybu to nehází žádnou, leč skript na mé přání kašle. Case 2 i case 3 jsou také bez chybové hlášky, ale bohužel taky bez odezvy. Ze stylů <style type="text/css"> .uprav {display: block; position: absolute; margin-left: 300px; padding: 6px; background-color: #ffa; border: 2px solid green;} .skryj {display: none;} .pozice1 {margin-top: -300px;} .pozice2 {margin-top: -200px;} .pozice3 {margin-top: -100px;} </style> funguje jen .uprav a .skryj, ale třídy pozice se nechytají a zvětšeniny se mi stále a pořád lepí k dolnímu okraji okna prohlížeče. Na co jsem prosím zapomněla? |
||
Joker Profil |
#2 · Zasláno: 10. 11. 2010, 10:41:28
Joan:
getElementsByTagName vrací pole elementů, takže u toho asi nebude fungovat onclick. |
||
Joan Profil |
#3 · Zasláno: 10. 11. 2010, 10:44:34 · Upravil/a: Joan
Joker:
Aha, a jak jinak teda mohu uvnitř switche změnit třídu, aby fungovalo <style> v hlavičce? EDIT: bude fungovat i v poli, jako druhou (a fungující) půlku skriptu používám toto: for (var n = 0; n < nahled.length; n++) //n=pocet nahledu v bloku { //IE a Opera vkladaji ctverecek pro imaginarni obrazek obrazek.className = "skryj"; nahled[n].onclick = function () { obrazek.src = this.href; obrazek.className = "uprav"; return false; } obrazek.onclick = function() //zavreni velkeho obrazku { obrazek.className = "skryj"; } } |
||
Časová prodleva: 13 let
|
0