Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> JAVASCRIPT jak zmieniać w pętli odnośniki obrazkowe?
nowy_pehapowiec
post 13.01.2010, 06:30:33
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


Jak zrobić pętlę w JAVASCRIPT, która podmieniałaby np co 30sekund odnośnik z obrazkiem? Czyli taka nieskończona pętla.

Wiem jak uzyskać gorszy efektem przy pomocy pętli if, sprawdzam czy liczba sekund aktualnego czasu jest większa czy mniejsza od 30 i odpowiedniemu odnośnikowi daje display block. Ale w ten sposób to jedynie dwa odnośniki zmieszczę w minucie. A chciałbym mieć ich np 5 i aby cała pętla trwała 2,5minuty. Jak to zrobić?

pozdor
Go to the top of the page
+Quote Post
Kshyhoo
post 13.01.2010, 08:57:33
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Może tak (sama rotacja obrazków, dorób sobie linki):
[JAVASCRIPT] pobierz, plaintext
  1. <script language="javascript" type="text/javascript">
  2. nr = 0;
  3. img = new Array();
  4.  
  5. czas = 30000;
  6. img[0] = "obraz1.gif";
  7. img[1] = "obraz2.gif";
  8. img[2] = "obraz3.gif";
  9.  
  10. for (i=0; i<img.length; i++) new Image().src = img[i];
  11.  
  12. function start() {
  13. if (document.body) {
  14. document.body.background = img[nr]; // body, albo inne cudo
  15. nr++;
  16. if (nr>=img.length) nr=0;
  17. setTimeout("start()", czas)
  18. }
  19. }
  20.  
  21. start();
  22. </script>
[JAVASCRIPT] pobierz, plaintext

Jeżeli body, to w stylach:
  1. body {
  2. background-repeat: no-repeat;
  3. background-position: center;
  4. }


Ten post edytował Kshyhoo 13.01.2010, 08:58:05


--------------------
Go to the top of the page
+Quote Post
nowy_pehapowiec
post 14.01.2010, 09:18:36
Post #3





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


Czy mógłbyś mi troszkę objaśnić ten kod? Bo nie chce mi działać ten kod. A chciałbym się dowiedzieć jak pisać takie skrypciki smile.gif

Szczególnie, te fragmenty:
new Image().src = img[i];

if (nr>=img.length) nr=0;
setTimeout("start()", czas);


questionmark.gif

pozdro

Ten post edytował nowy_pehapowiec 14.01.2010, 09:50:09
Go to the top of the page
+Quote Post
Kshyhoo
post 14.01.2010, 10:45:05
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Na jakimkolwiek kursie JS dowiesz się wszystkiego, to podstawy. Jeżeli chcesz wstawić obrazek z odnośnikiem, wrzuć go w tablicę, tak jak wstawiłem obrazki...

EDIT: kompletna strona to przetestowania:
CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head>

<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
<meta name="keywords" content="...">
<meta name="description" content="...">
<title>news</title>

<link type="text/css" rel="stylesheet" href="pliki/style.css">
</head>
<body>

<div id="tutaj"></div>

<script language="javascript" type="text/javascript">
<!--

nr = 0;
czas = 30000; // w milisekundach (1 sekunda = 1000 ms)

txt = new Array();
txt[0] = "<a href=\"http://www.link1.pl\"><img src=\"obraz1.png\" alt=\"klik1\" width=\"116\" height=\"41\" border=\"0\" style: outline: none;/></a>";
txt[1] = "<a href=\"http://www.link2.pl\"><img src=\"obraz2.png\" alt=\"klik2\" width=\"116\" height=\"41\" border=\"0\" style: outline: none;/></a>";
txt[2] = "<a href=\"http://www.link3.pl\"><img src=\"obraz3.png\" alt=\"klik3\" width=\"116\" height=\"41\" border=\"0\" style: outline: none;/></a>";

function napis() {
document.getElementById("tutaj").innerHTML = txt[nr];
nr++;
if (nr>=txt.length) nr=0;
setTimeout("napis()",czas);
}

napis();
// -->
</script>

</body>
</html>


Ten post edytował Kshyhoo 14.01.2010, 12:18:43


--------------------
Go to the top of the page
+Quote Post
nowy_pehapowiec
post 15.01.2010, 14:19:32
Post #5





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


Dzięki! Brakowało mi tego innerHTML. Mógłbyś mi polecić jakąś książkę albo kurs do js - na razie czytam fernate.pl

pozdr
Go to the top of the page
+Quote Post
trucksweb
post 15.01.2010, 14:20:40
Post #6





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


lepszej lektury nie ma
http://api.jquery.com/


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
nowy_pehapowiec
post 19.01.2010, 11:41:58
Post #7





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


A czy da się nadać płynności takiej "animacji? Dodać jakieś przenikanie się tych obrazków, albo zakrywanie jeden przez drugiego? I czy da się to zrobić bez dodatkowych bibliotek?

pozdro
Go to the top of the page
+Quote Post
skowron-line
post 19.01.2010, 11:48:30
Post #8





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Da się ale sporo kodu musiałbyś napisać. Biblioteki takie jak jQuery czy Mootools skracają czas pisania skryptu, a przy tym nie musisz się martwić że coś nie działa czy działa inaczej niż byś chciał pod różnymi przeglądarkami bo ktoś to sprawdził.
Chodź przyznam się że osobiście trafiłem na kilka ciekawych problemów w zabawie z Mootoolsem a co do jQuery to ktoś na forum pisał że nie wszystkie skrypty nawet te z manuala nie działają pod Operą.

Ten post edytował skowron-line 19.01.2010, 11:50:19


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 18:33