Cytat(karis @ 25.04.2009, 21:25:26 )

anpisałem coś takiego
(...)
jak mozna to przerobic aby otwierał losową stronę z tablicy?
generalnie jest taka zasada, że dużo lepiej pisać kod, który da się radę wykorzystać wiele razy.
nie pisz jednej dużej funkcji która robi wiele rzeczy, a raczej kilka mniejszych, bardziej wyspecjalizowanych.
tu masz przykład, jak ja bym to pisał. dopisanie obsługi błędów pozostawiam tobie. te długie nazwy tylko dla czytelności - zalecam zamienienie ich na krótsze. dodatkowo możesz wyeliminować kilka zmiennych globalnych poprzez osadzenie kodu do 'odpalenia' w funkcji anonimowej.
CODE
function wylosujLiczbeZPrzedzilau(poczatek, koniec) {
return Math.floor(Math.random() * koniec + poczatek);
}
function wstawIframeWElementPoprzezId(id, adres, atrybutyIframea) {
var el = document.getElementById(id);
// tu sprawdz czy ten el istnieje, jak nie to obsluz blad
var iframe = document.createElement('iframe');
// tu sprawdz czy podano adres, jak nie obsluz blad
iframe.src = adres;
if (atrybutyIframea) {
for (var x in atrybutyIframea) iframe[x] = atrybutyIframea[x];
}
el.appendChild(iframe);
}
function obsluzIframe(id, adresy, atrybuty) {
// tu sprawdz czy tablica ma przynajmniej jeden element
var los = wylosujLiczbeZPrzedzilau(0, adresy.length);
wstawIframeWObiektPoprzezId(id, adresy[los], atrybuty);
}
tak możesz tą funkcję wywołać (po zaladowaniu elementu docelowego)
CODE
<script type="text/javascript">
var id = 'container';
var adresy = ['#1', '#2', '#3', '#4', '#5'];
var atrybuty = {id: 'iframe1', className: 'wstawiany_iframe'};
obsluzIframe(id, adresy, atrybuty);
</script>