Pagina 1 din 2 12 UltimulUltimul
Rezultate 1 la 10 din 13

Subiect: Show / Hide script

Afișare hibrid

  1. #1
    Avatarul lui meetzah
    meetzah este deconectat Ambasador
    Reputatie:
    41
    Data înscrierii
    1st October 2005
    Locaţie
    Bucuresti
    Vârstă
    39
    Posturi
    976
    Putere Rep
    41


    Implicit Show / Hide script

    Salut,

    - Se da un text oarecare, sa zicem niste detalii ale unui produs. Vreau sa afisez o imagine cu mesajul "apasa aici sa vezi detaliile".

    - La apasare, sa apara detaliile efective in loc de acea imagine, insa pe loc, fara sa fie nevoie de reload-ul paginii.

    - Vreau sa inregistrez in baza de date de cate ori apasa cineva pe acea imagine, pentru a vedea detaliile (deci practic la apasarea pe imagine sa execut si un update in tabela corespunzatoare. update-ul nu trebuie sa se faca daca omul nu apasa pe imagine).


    Multumesc anticipat pentru orice sfat care ma poate ajuta in rezolvarea problemei.


    Mihai.
    Ultima modificare făcută de meetzah; 18th July 2010 la 21:31.
    DWF - Servicii complete de optimizare seo. Vezi oportunitatile de cariera in cadrul DWF.

  2. #2
    Avatarul lui Ciprian.Olaru
    Ciprian.Olaru este deconectat Membru SeoPedia
    Reputatie:
    0
    Data înscrierii
    6th August 2007
    Locaţie
    Bucuresti
    Posturi
    573
    Putere Rep
    0


    Implicit

    o solutie simpla ar fi cu un pic de javascript:
    la onclick pe acea imagine se ataseaza 3 actiuni
    1. proprietatea style.display a imaginii devine "none"
    2. style.display a boxului de text (care ar trebui sa fie prezent in html dar cu display none din stil) devine "block"
    3. se face o cerere asincrona catre un script care are in spate un php care numara clickurile (ex: www.site.ro/numara-plus/id-produs.. care face un increment randului corespunzator produsului din db);

    se poate face totul in ajax (adica inclusiv inlocuirea imaginii cu textul respectiv), dar sunt macar doua minusuri pentru care eu n-as alege asa: schimbarea o sa aiba un delay ceva mai mare decat la prima varianta + o sa fie mai greu de indexat textul cu descrierea din spate;

    sunt convins ca pot sa existe si solutii mai bune din anumite puncte de vedere, dar asta ar fi raspunsul meu rapid la ipoteza exprimata;

    bafta,

  3. #3
    Avatarul lui meetzah
    meetzah este deconectat Ambasador
    Reputatie:
    41
    Data înscrierii
    1st October 2005
    Locaţie
    Bucuresti
    Vârstă
    39
    Posturi
    976
    Putere Rep
    41


    Implicit

    multumesc pentru raspunsul rapid @gabriel.stancu insa m-ai pierdut definitiv pe la punctul 3, adica la "cererea asincrona catre un script care are in spate un php care numara clickurile" e clar ca trebuie sa ma mai documentez in privinta asta.

    am uitat sa fac o mica precizare, utila poate acelora care pot sa imi mai dea cate o sugestie: nu ma intreseaza indexarea textului respectiv in google.
    DWF - Servicii complete de optimizare seo. Vezi oportunitatile de cariera in cadrul DWF.

  4. #4
    Avatarul lui Cristi G
    Cristi G este deconectat Membru SeoPedia
    Reputatie:
    49
    Data înscrierii
    16th April 2009
    Locaţie
    Iasi
    Vârstă
    33
    Posturi
    1.664
    Putere Rep
    49


    Implicit

    de ce nu faci un div hidden...si faci un link la care ii pui onClick=functie(), iar functie() va face acel div hidden, visible.... iar in acea functie deschizi si un url in care faci update la tabela in baza de date...

    Nu le am prea bine cu javascript, dar cred ca se poate deschide un url in background fara sa fie ,,deranjat" vizitatorul.
    Imi ocup timpul uneori cu pariuri sportive si fac si web development WordPress.

  5. #5
    Avatarul lui Ciprian.Olaru
    Ciprian.Olaru este deconectat Membru SeoPedia
    Reputatie:
    0
    Data înscrierii
    6th August 2007
    Locaţie
    Bucuresti
    Posturi
    573
    Putere Rep
    0


    Implicit

    punctul 3 incerca sa spunca undeva intr-o zona ascunsa din pagina incarci continutul altei pagini (care poate sa nu afiseze nimic, dar care sa opereze in db) in momentul clickului pe imagine (asincrona = nu e sincronizata cu incarcarea htmlului principal, ci e "triggeruita" de clickul pe imagine, click care poata sa vina la diverse momente de timp sau poate chiar sa nu vina);
    uite aici un link despre cum poti face asta cu jquery: http://api.jquery.com/load/

    @finaldestiny: daca incarci intr-un div ascuns acea pagina care opereaza in db.. ea va fi incarcata in html de prima data indiferent daca vizitatorul da click sau nu pe imagine; prin urmare contorul in db va fi incrementat la fiecare incarcare de pagina (chiar si la cele la care nu se citesc descrierile), deci rezultatul va fi "numarul de afisari ale paginii" si nu "numarul de citiri ale descrierii"
    Ultima modificare făcută de Ciprian.Olaru; 18th July 2010 la 22:35.

  6. #6
    Avatarul lui Daniel
    Daniel este deconectat Membru SeoPedia
    Reputatie:
    36
    Data înscrierii
    21st May 2008
    Locaţie
    Bucuresti(pt moment)
    Posturi
    493
    Putere Rep
    36


    Implicit

    Ajax: iei o librarie JS ca JQuery, sau prototype.js.
    pe pagina pui doar fragmentul, iar cand se da click pe imagine se cere de la server prin Ajax si restul.
    scriptul preia IDul produsului, incrementeaza indicatorul de vizualizari in baza de date si intoarce textul complet.

    nu e mare filozofie, un programator bun rezolva treaba asta in 30 minute maxim.

  7. #7
    Avatarul lui Gabriel Puscuta
    Gabriel Puscuta este deconectat Ambasador
    Reputatie:
    38
    Data înscrierii
    7th September 2006
    Locaţie
    Sibiu
    Posturi
    786
    Putere Rep
    38


    Implicit

    @meetzah:
    O functie pe care am scris-o mai demult in js.
    function toggleDiv(id) {
    var elem = document.getElementById(id);
    if (elem.style.display == 'block') {
    elem.style.display = 'none';
    }
    else {
    document.getElementById(id).style.display='none';
    elem.style.display = 'block';
    }
    }
    Daca folosesti jQuery:
    $('#numediv').toggle();
    Pentru ultima liniuta poti folosi ajax, tot cu jQuery:
    function updateDb(data){
    $.ajax({
    type: "POST",
    url: "/calea_catre_script.php",
    data: "data=" + encodeURIComponent(data) ,
    success : function (data){
    $("#numediv").html(data).show();
    }
    });
    }
    Poti sa scoti success si/sau data si sa prelucrezi pe php datele despre user;
    Apelarea o faci onclick.

    PS: E tarziu si e duminica... sper ca am inteles ce vrei

  8. #8
    Avatarul lui meetzah
    meetzah este deconectat Ambasador
    Reputatie:
    41
    Data înscrierii
    1st October 2005
    Locaţie
    Bucuresti
    Vârstă
    39
    Posturi
    976
    Putere Rep
    41


    Implicit

    Gabriel, multumesc pentru ajutorul acordat. Am sa incerc astazi sa implementez functia si trebuie sa reusesc, intr-un fel sau altul.

    Va doresc o saptamana frumoasa si profitabila.
    DWF - Servicii complete de optimizare seo. Vezi oportunitatile de cariera in cadrul DWF.

  9. #9
    Avatarul lui CristiC
    CristiC este deconectat Membru SeoPedia
    Reputatie:
    33
    Data înscrierii
    2nd May 2008
    Locaţie
    Bucuresti
    Vârstă
    45
    Posturi
    91
    Putere Rep
    33


    Implicit

    Daca vrei sa nu folosesti jQuery (nu mai folosesti la nimic altceva in pagina si pentru a nu mari dimensiunea), pentru punctul 3 poti sa folosesti:

    Cod:
    function GetXmlHttpObject()
    {
    var xmlHttp=null;
    try
      {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
      }
    catch (e)
      {
      // Internet Explorer
      try
        {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
      catch (e)
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
    return xmlHttp;
    }
    
    function updateDb ()
    {
    var xmlHttp;
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {
      alert ("Your browser does not support AJAX!");
      return;
      } 
    
    var url="paginaUpdateDb.php";
    
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
    }

  10. #10
    Avatarul lui Chaos
    Chaos este deconectat Ambasador
    Reputatie:
    37
    Data înscrierii
    3rd April 2006
    Locaţie
    Cluj-Napoca
    Vârstă
    43
    Posturi
    389
    Putere Rep
    37


    Implicit

    si in completare la ce s-a spus mai sus...
    in db trebuie sa tii o mapare intre fiecare imagine pentru care contorizezi si numarul de clickuri si de fieacare data cand trimiti requestul catre scriptul care iti face update pe contor sa trimiti si identificatorul imaginii pe care o contorizezi.

Pagina 1 din 2 12 UltimulUltimul

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. Pop-up script
    De meetzah în forumul Client side
    Răspunsuri: 5
    Ultimul Post: 15th May 2010, 19:52
  2. hide page source
    De warrior în forumul Client side
    Răspunsuri: 3
    Ultimul Post: 7th December 2009, 18:10
  3. Script
    De eamc în forumul Discutii generale privind optimizarea si motoarele de cautare
    Răspunsuri: 3
    Ultimul Post: 28th February 2009, 14:27
  4. Script de rebus-uri
    De hl2u în forumul Client side
    Răspunsuri: 3
    Ultimul Post: 28th January 2009, 21:17
  5. Despre "Show ads from another URL "
    De florin în forumul Adsense
    Răspunsuri: 1
    Ultimul Post: 12th July 2006, 09:53

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •