![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 2 Dołączył: 23.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
cześc
anpisałem coś takiego Kod <script> function open(adres) { var adres = adres; var objekt; objekt = document.getElementById('koza'); objekt.innerHTML=('<iframe name="I1" marginwidth="1" marginheight="1" height="1" width="1" src="'+adres+'"></iframe>'); } </script> jak mozna to przerobic aby otwierał losową stronę z tablicy? |
|
|
![]()
Post
#2
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
Math.random() zwróci Ci jakąś liczbę po czym będzie to klucz do tablicy.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 2 Dołączył: 23.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
jak to zrobic, bo na razie ta funkcja zwraca tylko licby dziesiętne
|
|
|
![]()
Post
#4
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
możesz użyć math.ceil
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 2 Dołączył: 23.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
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> Ten post edytował p10 28.04.2009, 20:37:59 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 07:07 |