Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS] Wywołanie rotowanych wiadomości przez klik
kapitan kloss
post 19.09.2008, 10:26:17
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 18.11.2004

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


Witajcie,
zrobiłem sobie rotujące wiadomości, których treść obierana jest z tablicy i wyświetlana co określony czas na ekranie. Działa.
Na górze strony wyświetlają się numery poszczególnych wiadomości. Chciałbym aby po kliknięciu na jeden z numerków wyświetliła się wskazana wiadomość. W końcu nikt nie chce czekać długo na wiadomość znajdującą się na końcu.
Dziękuje za pomoc, bo nie wiem jak to zrobić.

  1. <div id="tutaj"></div> // tu wyświetlam efekt działania funkcji.
  2.  
  3. function napis() {
  4. document.getElementById("tutaj").innerHTML = txt[nr];
  5. var info = '';
  6. var pausa = " | ";
  7. for (x=0; x<txt.length; x++) {
  8. if (x==0) {
  9. info = info+"<span class='txtCzarny11'>"+(x+1)+"</span>"; // wyświetlają się numerek 1
  10. } else {
  11. info = info+pausa+"<span class='txtCzarny11'>"+(x+1)+"</span>"; // przed kazdym kolejnym wyswietla sie kreska, 1 | 2 | itd
  12. }
  13. }
  14. document.getElementById("znacznik").innerHTML = info;
  15. nr++;
  16. if (nr>=txt.length) nr=0;
  17. setTimeout("napis()",20000);
  18. }
  19. napis();


Jak pokazać konkretny news po kliknięciu na jego numer?


--------------------
Apache + php 5 + PostgreSQL (Mac OS X)
Go to the top of the page
+Quote Post
webcitrn
post 19.09.2008, 11:19:34
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 11.05.2008
Skąd: Łódź

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


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

function$(id) { return document.getElementById(id); }

function napis() {
  $("tutaj").innerHTML = txt[nr];
  var info = '';
  var pausa = " | ";
  for (x=0; x<txt.length; x++) {
    if (x>0)
       info+=pausa;
    info += '<span class=\'txtCzarny11\' onclick=\'javascript:GetMsg("'+x+'");\' id=\'f_'+x+'\'>'+(x+1)+'</span>';
  }

  $("znacznik").innerHTML = info;
  nr++;
  if (nr>=txt.length) nr=0;
  setTimeout("napis()",20000);
}
function GetMsg(x) {
  $('f_'+x).innerHTML=(x+1)+'<br />'+txt[x];
}
napis();


Nie jestem pewien czy dobrze Cię zrozumiałem ale chyba chodzi o coś takiego. Nie sprawdzane, pisane z palca, nie wiem skąd wziłąęś w tym skrypcie tablicę txt, nie dbałem o zgodność np z IE, chcę tylko przekazać ideę winksmiley.jpg

Ten post edytował webcitrn 19.09.2008, 11:21:05
Go to the top of the page
+Quote Post
kapitan kloss
post 19.09.2008, 19:13:04
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 18.11.2004

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


Wielkie dzięki. Generalnie o to chodziło, choć dzieje się coś dziwnego co ja ze swoją świadomością JS pojąć nie umiem.
Pojawiają się wiadomości na które kliknęliśmy ale bez kasowania pozostalych. Numerki też wariują. Ogólny pieprznik, choć zamysł działa.
Masz może pomysł jak to trochę ogarnąć?


--------------------
Apache + php 5 + PostgreSQL (Mac OS X)
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: 14.08.2025 - 05:04