Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.09.08
Prihlásený: 14.11.17
Príspevky: 225
Témy: 74
Bydlisko: Michalovce
Príspevok NapísalOffline : 13.11.2010 10:32

Nazdarek. Mam takyto script na zobrazenie smajlikov:
Kód:
<script type="text/javascript">

function showSmiles(fm, it, us)
{
var params = "where="+fm+"&con="+it+"&who="+us;

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("smile").innerHTML=xmlhttp.responseText;
    }

  }
xmlhttp.open("POST","ukazsmailovx.php",true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.send(params);

}

</script>

<?
echo"
<a href=\"javascript:showSmiles('formular', 'vstup', 'uzivatel')\">Zobraziť smajlikov</a>
";

echo"
<div id=\"smile\"></div>
";
?>


No a ja by som chcel docielit to, ze po kliknuti na odkaz: Zobraziť smajlikov sa mi text zmeni na Skryť smajlikov. A nasledne po kliknuti na odkaz Skryť smajlikov sa ty smajlici "stratili". Teda aby som tu Ajaxovu funkciu zrusil. Zmenit text odkazu..to mi je jasne..cez .innerHTML. Ale ako zrusit tu Ajaxovu funkciu (teda zrusit/skryt tych smajlikov)..tak to naozaj netusim.Vedel by mi niekto poradit?? Co s tym resp. Ako na to??


Offline

Čestný člen
Čestný člen
Skryť/Zobraziť - Funkcia

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 13.11.2010 11:13

Co takto
Kód:
document.getElementById('smile').innerHTML = '';


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.09.08
Prihlásený: 14.11.17
Príspevky: 225
Témy: 74
Bydlisko: Michalovce
Príspevok Napísal autor témyOffline : 13.11.2010 14:21

Ďuri...Neviem ci som ta spravne pochopil.Ak nie, tak ma oprav..Mna to napadlo riesit, tak ze este pridam 1 funkciu..A potom ten script vyzera nejako takto:
Kód:
<script type="text/javascript">

function showSmiles(fm, it, us)
{
var params = "where="+fm+"&con="+it+"&who="+us;

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("smile").innerHTML=xmlhttp.responseText;
      document.getElementById('adresa1').style.display = 'none';
      document.getElementById('adresa2').style.display = 'block';
    }

  }
xmlhttp.open("POST","ukazsmailovx.php",true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.send(params);

}

function CloseSmiles()
{

document.getElementById('smile').innerHTML = '';
      document.getElementById('adresa2').style.display = 'none';
      document.getElementById('adresa1').style.display = 'block';
}
</script>

<?
echo"
<a href=\"javascript:showSmiles('formular', 'vstup', 'uzivatel')\" id=\"adresa1\" style=\"display: block\">Zobraziť smajlikov</a>
<a href=\"javascript:CloseSmiles()\" id=\"adresa2\" style=\"display: none\">Skryť smajlikov</a>
";

echo"
<div id=\"smile\"></div>
";
?>


Ja neviem ci je to dobre riesenie. Totiz JS/Ajax nie je mojou silnou strankou :( Tak ak je to zle, resp. existuje nejake lepsie/elegantnejsie riesenie, tak si velmi rad necham poradit/vysvetlit.


Offline

Čestný člen
Čestný člen
Skryť/Zobraziť - Funkcia

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 13.11.2010 15:15

Nemusis pouzivat 2 odkazy. Spravne si uvazoval, ze text Zobrazit smajlikov/Skryt smajlikov mozes menit pomocou innerHTML (a href atribut analogicky), preco si tak neurobil? Inak je to v poriadku. Este je mensi problem to, ze po kazdom kliknuti na Zobrazit smajlikov sa vytvori novy HTTP request - je to nutne? Nechces si len obsah #smile ulozit do nejakej premennej a pri druhom zobrazeni smajlikov by sa to proste vytiahlo z premennej.
A v podstate, je nutne vobec Ajax pouzivat? Neslo by spravit nieco take, ze vsetky smajliky proste vypises do div#smile, ktory by bol defaultne skryty a kliknutim by sa len zobrazili?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.09.08
Prihlásený: 14.11.17
Príspevky: 225
Témy: 74
Bydlisko: Michalovce
Príspevok Napísal autor témyOffline : 14.11.2010 17:51

Ďuri.. Ja som to pôvodne riesil bez Ajaxu. Tak, ze ty smajlici boli defaultne skryty a kliknutim sa len zobrazili, ale problem bol potom v nacitavani stranky..Teda problem..Ak je tych smajlikov vela (v mojom pripade okolo 250) a k tomu este nejake prispevky z DB, tak to dost dlho nacitavalo stranku. To co navrhujes
Citácia:
Nechces si len obsah #smile ulozit do nejakej premennej a pri druhom zobrazeni smajlikov by sa to proste vytiahlo z premennej.

sa mi zda ako najlepsie riesenie, lenze v mojom pripade je tu maly problem.Totiz neviem ako to urobit. Ak by si mi mohol s tym pomôct, alebo aspon poradit ako na to, bol by som velmi rad. :D Hlavne co sa tyka, toho ulozenia obsahu do premennej a potom overenie premennej vo funkcii.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.09.08
Prihlásený: 14.11.17
Príspevky: 225
Témy: 74
Bydlisko: Michalovce
Príspevok Napísal autor témyOffline : 16.11.2010 14:19

Takže nakoniec som ťa Ďuri "posluchol" ;) a urobil som ten script na tych smajlikov bez Ajaxu. To "dlhe" nacitavanie som vyriesil tym, ze som tych smajlikov rozdelil, resp. urobil take jednoduche strankovanie.
Tu je script:
Kód:
<script type="text/javascript">

function showSmiles(fm, inp, task, pg)
{

  var p1 = ( pg * 40) - 40;
  var p = p1 + 1;
  var m = (pg * 40);
  var page;

// Navigacia Ďalšie 
    if (pg >=1  && pg < 5)
       {
         page = pg + 1;
         var next ="<a href=\"javascript: showSmiles('"+fm+"', '"+inp+"', '"+task+"', "+page+");\"> Ďalšie </a>";
       }
   
    else
       {
         page = pg;
         var next ="";
       }
       
// Navigacia Späť
    if (pg >1  && pg <=5)
       {
         page = pg - 1;
         var prev ="<a href=\"javascript: showSmiles('"+fm+"', '"+inp+"', '"+task+"', "+page+");\"> Späť </a>";

       }
   
    else
       {
         page = pg;
         var prev ="";
       }       

// KONIEC Navigacia 

      document.getElementById('nav').innerHTML = prev + next;

var smajl = new Array();

for(i=p; i<=m; i++)
{
smajl[i] = "<a href=\"javascript: smiles(document."+fm+"."+inp+", ':"+i+":', '');\" style=\"margin: 2px; cursor: pointer\"> <img src=\"./smiles/smiley"+i+".gif\" title=\"smiley"+i+"\"> </a>";
}
      smajl =smajl.join(" ");   
      document.getElementById('smile').innerHTML = smajl;
           
    if(task == 'show') {
         document.getElementById('link').innerHTML ="<a href=\"javascript: showSmiles('"+fm+"', '"+inp+"', 'close',  "+page+");\"> Sktyť smajlíkov </a>";
     document.getElementById('smile').style.display = 'block';
     document.getElementById('nav').style.display = 'block';

     }
     else {
        document.getElementById('link').innerHTML ="<a href=\"javascript: showSmiles('"+fm+"', '"+inp+"', 'show', "+page+");\"> Zobraziť smajlíkov  </a>"; 
     document.getElementById('smile').style.display = 'none';
     document.getElementById('nav').style.display = 'none';
 
     }
     
}

</script>

<?
echo" <div id=\"link\"> <a href=\"javascript: showSmiles('reakcia', 'blogKoment', 'show', 1);\"> Zobraziť smajlíkov  </a></div>

 <div id=\"nav\" style=\"display: block\"></div>

<div id=\"smile\" style=\"display: none\"> </div>";

?>

Ak ma niekto lepsie/elegantnejsie/jednoduchsie riesenie, prosim, sem s nim.. :D Rad sa naucim nieco nove..


Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Skryť IP

v Sieťové a internetové programy

6

370

26.09.2012 19:29

PepeTheDragon Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ukázať/skryť obsah

v JavaScript, VBScript, Ajax

17

1235

05.02.2010 14:44

pilná lama glama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. video, skryt ovladanie prehravaca

v HTML, XHTML, XML, CSS

3

464

12.07.2011 14:06

weroro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Skryť časť kódu pri IE6

v HTML, XHTML, XML, CSS

2

478

26.02.2010 17:32

rsn4ke Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako skryt scrollbar v terminaly

v Operačné systémy Unix a Linux

0

438

02.02.2010 23:40

Ivan11114 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. skryt IP adresu v lokalnej sieti?

v Sieťové a internetové programy

2

1701

09.11.2005 16:03

Luks Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako mam skryt moju IP, resp. zmenit

v Sieťové a internetové programy

2

817

15.08.2008 0:23

suchy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako skryť .html napriklad kuma.sk/info

v HTML, XHTML, XML, CSS

7

524

30.11.2014 19:54

Mego Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. 3Ds Max rigg - ako skryť bipedove kosti po riggingu

v Grafické programy

0

507

29.03.2011 18:03

FxEngine Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Tlačítko Zobraziť

v HTML, XHTML, XML, CSS

5

342

05.10.2013 20:00

majky358 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako zobrazit registre

v Operačné systémy Microsoft

1

501

14.09.2009 16:32

Milan.H Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zobrazit len raz

v PHP, ASP

17

888

21.12.2008 15:34

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zobraziť uložené heslá

v Operačné systémy Microsoft

1

405

12.11.2014 17:48

hanesovic Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako zobraziť******(skrite) heslo

v Smartfóny a tablety

8

946

05.03.2016 11:19

SKRiPT Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. po kliku zobraziť text

v JavaScript, VBScript, Ajax

2

454

13.07.2009 19:29

Draex Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. tablet zobrazit na TV

v Smartfóny a tablety

5

308

29.11.2014 13:34

kraken8 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra