Autor Zpráva
Adrifinel
Profil *
Chtěla bych udělat na stránce měnění obrázků v časovém intervalu, to by nebyl až tak problém, kódy se dají najít, horší je místu umístění, pač já bych to potřebovala mít na specifickém místě a to je uvnitř kódu:


 echo '<table class="noborder"><tr><th><img src="ikonky/vakcina/garurumon.png"  alt="garurumon"></th></tr>';

Místo toho obrázku si představte ten script/kód, no a mě nějak nenapadá jak pohřešit vložení samotného kódu na toto místo.
Str4wberry
Profil
 echo '<table class="noborder"><tr><th><img src="ikonky/vakcina/garurumon.png" id="menici-se-obrazek"  alt="garurumon"></th></tr>';
A skript vložený kamkoliv bude měnit src elementu s ID „menici-se-obrazek“.
Adrifinel
Profil *
Str4wberry:
Funguje to takhle i na složku? Pač já těch obrázku mám hodně a všechny je vypisovat....
Tlapka
Profil
Adrifinel:
Nejspíš potřebuješ seznam souborů v určité složce, a z toho seznamu pak bude JS vybírat náhodně soubory, které zobrazí. Jelikož ale JS pracuje u klienta (prohlížeč), vytáhnout obsah složky ze serveru nejspíš nedokáže, na to bude asi potřeba PHP...

Pokusím se ti sestavit skript, jestli se mi to povede...
Tlapka
Profil
Tak hotovo, mělo by to fungovat... :-)

<table class="noborder"><tr><th><img src="ikonky/vakcina/garurumon.png" id="menici-se-obrazek"  alt="ikonka"></th></tr></table>
<script type="text/javascript">
function zmenObrazek () {
var obrazky = '<?php
// pole, ktere bude obsahovat seznam nazvu obrazku
$files = Array();
                         
// otevreme slozku
$dir = dir('ikonky');
                         
// projdeme vsechny soubory a vybereme png obrazky
while ($file = $dir->read()) 
    if (substr_count($file, ".png") > 0) $files[] = $file;

// vypíšeme seznam názvů
echo implode(" ", $files);
?>';
var seznamObrazku = obrazky.split(" ");

	// vypocet, ktery obrazek se bude vypisovat:
	// floor je zaokrouhleni dolu, random nahodne cislo, length je delka pole (pocet polozek)
	index = Math.floor(Math.random()*seznamObrazku.length);
	
	// vybraný obrázek:
	var vybranyObrazek = (seznamObrazku[index]);
	
	// změníme obrázek:
	document.getElementById("menici-se-obrazek").src = "ikonky/"+vybranyObrazek;
}

// spustíme funkci a nastavíme interval (zde 5 sekund):
zmenObrazek();
setInterval("zmenObrazek();", 5000);
</script>


obrázek měj raději v kódu dříve než skript a jinak je to snad jedno :-) je to nastavené na složku ikonky ve stejném adresáři, a v názvech ikonek nesmí být mezery.
Adrifinel
Profil *
Tak to funguje, jenom akorát neví někdo, jak zrušit ten rámeček?
ReVolt
Profil
Adrifinel:
css
border: none;
Adrifinel
Profil *
ReVolt:
A když to chci zrušit jenom u určité tabulky?
ReVolt
Profil
Adrifinel:
tak té tabulce přiřaď id nebo class
např.: <table id="bezramecku">
css
#bezramecku {
border: none;
}
Adrifinel
Profil *
table {
	margin: 5px;
	margin-left: auto;
	margin-right: auto;
	font-size: 100%;
	text-align: left;
	color: #B7DBFF;
}
table.noborder, table.noborder td, .table.noborder th {
	border: 0px;
}
td, th {
	padding-left: 0.5em;
	padding-right: 0.5em;
	border: 1px solid #819DC9;
	line-height: 180%;
}
th {
	background: #00254A;
	background-image: url(img/bg-all-pagemain-h3.jpg);
	background-repeat: repeat-x;
	font-weight: bold;
	text-align: center;
}
tr.hover td {
	background: #99CCFF;
}
table.nohover tr.hover td, table.noborder tr.hover td {
	background: transparent;
}
td.right {
	text-align: right;
	float: none;
}
table.noborder {
	border: 0px;
	
}
#bezramecku { 
border: none; 
}



 echo '<table class="bezramecku"><tr><th><img src="ikonky/vakcina/garurumon.png" border="0" id="menici-se-obrazek"  alt="garurumon"></th></tr>';


at s idem nebo s classem, rámeček se nezruší.
ReVolt
Profil
tak to zkus pro každý element
.noborder {border: none;}
.noborder td {border: none;}
.noborder th {border: none;}

edit: teď sem si všiml, že ten rámeček zrušíš, ale hned pod tím ho nastavíš, tak nastav class elementům <td> a <th>
Tlapka
Profil
Adrifinel:
koukám že máš class "bezramecku" a v css kódu "#bezramecku". To ti nepůjde, "#" je pro id, pro class je "." :-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0