Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    punta e scatena l'azione

    Ciao a tutti,
    Vorrei avere qualche suggerimento per la risoluzione del seguente problema.
    Ho dei testi in italiano, raggruppati in paragrafi più o meno lunghi. Ora con il passaggio del mouse su una qualsiasi parola dovrei scatenare un evento relativo alla parola stessa.

    Esempio:


    Sono nato a Pescara</p> se con il mouse passo sopra Pescara dovrei avere la possibilità di gestire gli eventi (hover,etc..)

    L'unica idea che ho avuto e' stata quella di dividere il paragrafo in tanti <span classe="xx">parola</span>
    pero' questo mi porta a fare la modifica del testo orginale.

    Secondo voi esiste qualche soluzione differente? In giro ho trovato script che prendono il paragrafo e lo dividono con split in tanti span, ma ovviamente non considerano la formattazione e questa cosa non va bene.
    Grazie mille.
    Stefano

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao Stefano benvenuto, impossibile fare ipotesi sei troppo vago, oltretutto non si capisce nenche come questo testo è generato internamente al sito o esternamente.
    Prova a fare degli esempi
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao cavicchiandrea,
    Grazie per l'interessamento.
    Provo a spiegarmi meglio.

    Ho circa 500 file html completi, con dei testi, il mio compito e' quello di gestire la navigazione tra questi documenti ed ovviamente renderli fruibili ( questo dovrei farlo in php ) e come ho spiegato precedentemente, ho la necessita' di scatenare l'evento su qualsiasi parola puntata su questi testi.

    Questo e' una parte generica del testo

    <P class='translate'><A NAME="40"></A><FONT FACE="latino"><FONT SIZE=2 STYLE="font-size: 11pt">[40] Iam uero contiones assiduae et datum ius potentissimum quemque uexandi atque ipsa inimicitiarum gloria, cum se plurimi disertorum ne a Publio quidem Scipione aut </FONT></FONT></P>

    Ciao,
    Stefano

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924

    Re: punta e scatena l'azione

    Originariamente inviato da vangelis1977
    In giro ho trovato script che prendono il paragrafo e lo dividono con split in tanti span, ma ovviamente non considerano la formattazione e questa cosa non va bene.
    Grazie mille.
    Stefano
    in che senso "non considerano la formattazione"? gli span sono contenitori inline senza stile per cui non dovrebbero alterare in nessun modo la formattazione pre-esistente.

    fai un esempio concreto del problema che rilevi, non è possibile parlare di argomenti tecnici senza preparare un esempio da condividere
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Dal momento che usi php per rederli fruibili prosegui con quello (metafora è inutile cuocere il pollo al forno a metà cottura metterlo nel piatto e finirlo a micronde)

    P.S. Con la parte generica del testo cosa ci dovresti fare?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Ciao,
    Scusate, ma non sono pratico dei forum . Questo e' lo script che ho trovato, che fa a grandi linee quello che serve, ma non interpreta più i BR, se caricare la paginetta al principio e' formattata poi quando viene elaborata la formattazione.


    <!DOCTYPE html>
    <html>
    <head>
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <meta charset=utf-8 />
    <title>EDIT</title>
    </head>

    <body>
    <p class="first">mihi plus quam phantastica venit
    historiam Baldi grassis cantare Camoenis.
    Altisonam cuius phamam, nomenque gaiardum
    terra tremat, baratrumque metu sibi cagat adossum.
    Sed prius altorium vestrum chiamare bisognat,
    o macaroneam Musae quae funditis artem.
    An poterit passare maris mea gundola scoios,
    quam
    recomandatam non vester aiuttus habebit?
    Non mihi Melpomene, mihi non menchiona Thalia,
    non Phoebus grattans chitarrinum carmina dictent;
    panzae namque meae quando ventralia penso,
    non facit ad nostram Parnassi chiacchiara pivam.
    Pancificae tantum Musae, doctaeque sorellae,
    Gosa, Comina, Striax, Mafelinaque, Togna,
    Pedrala,
    imboccare suum veniant macarone po&euml;tam,
    dentque polentarum vel quinque vel octo cadinos.
    Hae sunt divae illae grassae, nymphaeque colantes,
    albergum quarum, regio, propiusque primior artem,
    hic me pancificum fecit Mafelina po&euml;tam.</FONT></FONT></P>
    <p class="second"></p>
    <script>


    $(".first").on("hover",function(){

    var words = $(this).text().split(" ");

    var fullText = "";

    for(i=0;i<words.length;i++){
    words[i] = "<span>"+words[i]+"</span> ";
    fullText += words[i];
    }


    $(this).text("").append(fullText);

    $(this).children("span").on("hover", function(){
    $(".second").text($(this).text());

    });

    });
    </script>

    </body>
    </html

  7. #7
    @cavicchiandrea
    Per ogni parola dovrei poter fare delle richiesta Ajax ai dei dizioniari. Quindi per ogni parola avrei bisogno della possibilità di fare onclick ....

  8. #8
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    La soluzione più semplice è usare document.ondblclick e getSelection() (al doppio click si seleziona la parola infatti, e puoi passarne il contenuto all'evento). Ti giro un esempio minimalista:

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Documento HTML</title>
    <script type="text/javascript">
    document.ondblclick = function () {
    	var selezione = getSelection(); 
    	alert("Hai fatto doppio click sulla parola \"" + selezione.toString() + "\".");
    };
    </script>
    <style type="text/css">
    
    </style>
    </head>
     
    <body>
    
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam mi lectus, scelerisque eget hendrerit sit amet, auctor id lectus. Donec ac nunc libero. In hac habitasse platea dictumst. Sed convallis dui sapien, non tempus libero. Vivamus eget orci nec tellus accumsan eleifend eu sit amet lacus. Nam purus est, vestibulum vitae semper id, bibendum vel lectus. Nulla id libero nisi. Aenean leo dui, porttitor id fermentum bibendum, tempor non diam. Nullam at dolor eu elit bibendum suscipit in quis urna. Proin sed felis et erat hendrerit posuere at ac eros. Sed feugiat varius nisi at pharetra. Aliquam tristique orci id nunc semper sit amet pellentesque dui interdum.</p>
    </body>
    </html>
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  9. #9
    Non interpreta i br perché viene usato il metodo text()
    Per preservare i br basta usare il quasi analogo metodo html()
    codice:
     
    
    <!DOCTYPE html>
     <html>
      <head>
        <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
       <meta charset=utf-8 />
       <title>EDIT</title>
     </head>
    
     <body>
      <p class="first">mihi plus quam phantastica venit 
     historiam Baldi grassis cantare Camoenis. 
     Altisonam cuius phamam, nomenque gaiardum 
     terra tremat, baratrumque metu sibi cagat adossum. 
     Sed prius altorium vestrum chiamare bisognat,
    o macaroneam Musae quae funditis artem. 
     An poterit passare maris mea gundola scoios, 
     quam
    recomandatam non vester aiuttus habebit?
    Non mihi Melpomene, mihi non menchiona Thalia, 
     non Phoebus grattans chitarrinum carmina dictent;
    panzae namque meae quando ventralia penso,
    non facit ad nostram Parnassi chiacchiara pivam.
    Pancificae tantum Musae, doctaeque sorellae,
    Gosa, Comina, Striax, Mafelinaque, Togna,
    Pedrala,
    imboccare suum veniant macarone po&euml;tam, 
     dentque polentarum vel quinque vel octo cadinos. 
     Hae sunt divae illae grassae, nymphaeque colantes,
    albergum quarum, regio, propiusque primior artem,
    hic me pancificum fecit Mafelina po&euml;tam.</FONT></FONT></P>
      <p class="second"></p>
    <script>
    
    
    $(".first").on("hover",function(){
        
      var words = $(this).html().split(" ");
        
      var fullText = "";
      
      for(i=0;i<words.length;i++){
        words[i] = "<span>"+words[i]+"</span> "; 
        fullText += words[i];
      }  
     
       
      $(this).html(fullText)
      $(this).children("span").on("hover", function(){
        $(".second").text($(this).text());
    
      });
      
    });
    </script>
    
    </body>
    </html

  10. #10
    Grazie mille a tutti.
    Non si smette mai di imparare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.