Plynule zobrazenie textu,. alebo divu JavaScript

Programovacie jazyky, rady, poradňa...
KViki
Light Expert
Light Expert
Príspevky: 74
Registrovaný: 06 dec 2008, 3:25
Kontaktovať používateľa:

Plynule zobrazenie textu,. alebo divu JavaScript

Príspevok od používateľa KViki »

kód:

Kód: Vybrať všetko

function showtxt(){
var t = setInterval(opacityChange,200);
var i=1;
var s = document.getElementById('hide').style;
   function opacityChange(){
    s.opacity = i/10;
   // s.filter ="progid:DXImageTransform.Microsoft.Alpha(attribute="+i/10"+)"
   document.getElementById('Rollmenu').innerHTML ='<div id="hide"><a   onclick="schovaj()"/>Skryť</a></div>';
    i++;         
      if(i>=10){
         clearInterval(t);
      }
}
}

takto volako som to vymyslel,. ale zatial mi to nezobrazuje vobec ten text



kód:

Kód: Vybrať všetko

function setOpacity(value) {
   testObj.style.opacity = value/10;
   testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}

+problem ked vkladam cez js ten <div class="hide"> tak mi potom nefunguje to zobrazovanie postupne? je nejaka finta na to?

Ako by sa dalo urobit aby na ten vlozeny div cez js platila ta funkcia?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

neviem ani čo sa vlastne chceš spýtať. Text ti nezobrazuje plyulo, lebo máš veľký skok. Zobrazí ho bledý a hneď potom tmavý, preto to nevidíš že sa objavuje. Skús takto:

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  <script>
  function showtxt(){
var t = setInterval(opacityChange,200);
var i=1;
var s = document.getElementById('hide').style;

   function opacityChange(){
    s.opacity = i/10;
    i++;         
      if(i>=10000){
         clearInterval(t);
      }
}
}

function setOpacity(value) {
   testObj.style.opacity = value/10;
   testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}
  </script>
  </head>
  <body onload="showtxt()">
  <div id="hide">
  asdfasdfasdf
  </div>

  </body>
</html>
s dynamicky vloženým divom ti to tiež pôjde, len ho nesmieš vkladať zakaždým v tej funkcii, ale niekde ešte pred tým. A nevpisuj do toho Rollermenu ten div cez innerHTML ale ho tam vlož cez DOM. Potom by to malo ísť
KViki
Light Expert
Light Expert
Príspevky: 74
Registrovaný: 06 dec 2008, 3:25
Kontaktovať používateľa:

Príspevok od používateľa KViki »

hej,. ok, dik,. a co je to DOM,.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

DOM je document object model. Vytvorenie tvojho divu by bolo takto:

Kód: Vybrať všetko

dv = document.createElement('div');  //vytvorim div
dv.setAttribute('id',"hide"); //nastavim mu id
dv.appendChild(document.createTextNode("ddddddd"));  //nastavim mu text
document.getElementById('Rollmenu').appendChild(dv); //pridam do rollmenu divu
to daj napríklad pred riadok

Kód: Vybrať všetko

var s = document.getElementById('hide').style; 
(ten rollmenu si tam nezabudni pridať, v ukážke čo som dal skôr nie je. Je tam zase div 'hide' pridavany staticky, tak ten si z body zmaž a nahraď ho tým rollmenu)
KViki
Light Expert
Light Expert
Príspevky: 74
Registrovaný: 06 dec 2008, 3:25
Kontaktovať používateľa:

Príspevok od používateľa KViki »

dikes,. tak toto som ani nevedel,. ze je DOM,. to sa mi paci toto mi chybalo,. >D
idem to spravit

//autoeditácia príspevku ( 10 Dec 2009, 0:02 )
A vedel by si odporucit nejake literaturu na webe? kde by som si to mohol pozret?{DOM}
bo tam do toho divu potrebuje vlozit img s odkazom,a este ovela viac veci,.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

na w3 je referenčka DOM, nájdeš tam všetko potrebné (a ak by si to tam nevedel nájsť, tak to nájdeš na nete. O tomto je toho popísaného veľmi vela)
Napísať odpoveď