Autor Zpráva
Cup
Profil
Dobrý den. chtěl bych se zeptat jestli jste někdo na netu neviděli návod na to že bych měl seznam položek třeba v poli JS ... a na stránce by se mi zobrazovali vždy 3 položky ... Položka1 | Položka2 | Položka3 >> kliknu na šipky doprava a zobrazí se << Položka2 | Položka3 | Položka4 >> mohu procházet tam a zpět. pole by mělo asi 10 položek. každý by to byli jiné položky jedná se o výpis z rozvrhu na úvodní stránku webu. a nemám tam moc místa tak to řeším takto. Neviděli jste někdo někde nějaký návod. přechod nemusí být plynulý ... díky za rady
regy
Profil
Pokud to nechceš plynule, tak to není nic složitého. Když budu mít čas, napíšu ti to sem :-).
Cup
Profil
To bych ti byl moc vděčný. Díky. Pole budu tahat z databáze ... bude se jednat o hodiny školního rozvrhu pro jeden den třeba pondělí
array(ELM, ELT, EPO, MAT, .... ) ... Jestli si uděláš chvilku tak moc díky.
regy
Profil
<html>
  <head>
  <script type="text/javascript" language="JavaScript">
    var current = 1; //aktuálně zobrazený
    var number = 4; //počet zobrazovaných
    function move(way) {
      document.getElementById("content" + current).style.display = "none"; //skrytí aktuálního obsahu
      if(current != number && way == "next") current++; //pokud další, zvýšit o 1
      if(current != 1 && way == "back") current--; // pokud předchozí, snížit o 1
      document.getElementById("content" + current).style.display = "block"; //zobrazení nového obsahu
    }
  </script>
  </head>
  <body>
  
  <a href="#" onclick="move('back'); return false;"> &laquo; Předchozí</a> | 
  <a href="#" onclick="move('next'); return false;"> Další &raquo; </a>
  
  <div id="content1">
    obsah 1
  </div>
  <div id="content2" style="display: none;">
    obsah 2
  </div>
  <div id="content3" style="display: none;">
    obsah 3
  </div>
  <div id="content4" style="display: none;">
    obsah 4
  </div>

  </body>
</html>

Snad ti to bude stačit takhle. Asi by to šlo napsat i lépe, ale pro účely, které uvádíš to stačí. Není dobré to použít, pokud by se měnil objemný obsah, protože by to zpomalovalo načítání a pak je lepší to posílat přes ajax. Tady ale úplně stačí, kdyaž v php vypíšeš vždy do content(x) příslušný den a pak ve scriptu akorát upravíš hodnotu number (počet obsahů).
Doufám, že to je to, co jsi chtěl. :-)
Cup
Profil
Díky moc ... Jdu to skusit. Napíšu pak jestli to funguje jak jsem chtěl. Ahoj
Cup
Profil
Je to téměř co jsem chtěl. ale chtěl jsem aby se mi zobrazovali 3 položky najednou ... jakože rozvrh má dejme tomu v pondělí 9 hodin ... tak zobrazím 1-3 ... klikem na pravé tlačítko se mi posune nějaký ukazatel a načte se z pole array(ELM, ELT, MAT, CIT, , AJ, NJ, EPO, EPO ) prvek 2-4 ... kliknu na šipku ukazatel se posune o 1 a načte se 3-5 ... vím přibližně jak bych to napsal ... ale neznám syntaxi javascriptu :( ... no ale toto mi možná pomůže si to prostuduju a třeba to podle toho udělám díky
regy
Profil
Může být?:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <script type="text/javascript" language="JavaScript">
    var current = 2; //aktuálně zobrazený
    var number = 8; //počet zobrazovaných
    function move(way) {
      if(current != number-1 && way == "next") {
        var hidden = current - 1;
        document.getElementById("content" + hidden).style.display = "none";
        var show = current+2;
        document.getElementById("content" + show).style.display = "block";
        current++;
      }
      if(current != 2 && way == "back") {
        var hidden = current + 1;
        document.getElementById("content" + hidden).style.display = "none";
        var show = current-2;
        document.getElementById("content" + show).style.display = "block";
        current--;
      }
    }
  </script>
  <style type="text/css">
  div {
  float: left;
  margin: 5px 5px 5px 5px;
  }
  </style>
  </head>
  <body>
  
  <a href="#" onclick="move('back'); return false;"> &laquo; Předchozí</a> | 
  <a href="#" onclick="move('next'); return false;"> Další &raquo; </a>
  
  <div id="content1">
    obsah 1
  </div>
  <div id="content2">
    obsah 2
  </div>
  <div id="content3">
    obsah 3
  </div>
  <div id="content4" style="display: none;">
    obsah 4
  </div>
  <div id="content5" style="display: none;">
    obsah 5
  </div>
  <div id="content6" style="display: none;">
    obsah 6
  </div>
  <div id="content7" style="display: none;">
    obsah 7
  </div>
  <div id="content8" style="display: none;">
    obsah 8
  </div>

  </body>
</html>

Jako aktuální to počítá vždy to, co je uprostřed, proto current = 2 ;-)
petr 6
Profil
Cup: Jestli na to nespěcháš, tak něco podobného jsem nedávno dělal. Bohužel to nejspíš nemám na svém počítači, takže by to nebylo hned.
Cup
Profil
Díky moc to je přesně ono :)
regy
Profil
Jinak teď si tak říkám, jestli by nebylo lepší tam nechat scroller, než dělat takovéhle (podle mě zbytečné) konstrukce. :-)
Cup
Profil
heh :) to mě ani nenapadlo ... už to mám hotové ... když se to nebude líbit dám scroller ... díky za nápad
regy
Profil
napíšeš mi prosím link, jak to vypadá?
Cup
Profil
hele rád bych ale jednak to mám na lokále ... a jednak no to je jedno screen ti bude stačit ... moment


http://s2.imgupload.cz/img/--/139787/ZYiXg/Bez-n-zvu-1.png

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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