Questa piccola funzione è stata fatta da parte la copia del codice trovato in phpMyAdmin . Avevo bisogno di righe di tabelle di colore come il mouse passato attraverso di loro e colorare anche quando l'utente fa clic su di essi.

In JavaScript phpMyAdmin originale, lo stile con i colori di sfondo delle celle sono all'interno della <td>. Inoltre, come tutte le cellule hanno lo stesso colore di sfondo, semplicemente raccogliendo il colore della <td> prima e applicare in tutta la linea.

Come il mio definizioni di stile sono in file. Css, ho dovuto cambiare il modo di portarli. E come alcune colonne aveva i colori di sfondo e non altri, ho creato un array per memorizzare i valori originali. Poi quando l'utente muove il mouse in una <tr> con questa funzione, i colori di sfondo definito nel file. CSS sono conservati, e recuperati quando il mouse lascia la riga.

Le prime due variabili sono i colori che appaiono quando il mouse si trova sopra la linea (cor_onmouseover) e quando viene cliccato (cor_onmousedown). Per impostazione predefinita, sono rispettivamente un mascherino calce verde e una crema di arancia. Come potete vedere, non c'è nulla Manjo di nominare i colori esadecimali ;)

Di seguito è riportato il codice JavaScript:

JavaScript:
  1. cor_onmouseover = '# E7FFCE';
  2. cor_onmousedown = '# FFCC99';
  3. coresOriginais = Array ();
  4. celula, linhaNumero, evento ) destacarLinha funzione (cellula, linhaNumero, evento)
  5. (
  6. ; var celulas_filhas = null;
  7. / / Cerca di ottenere il <tr> o esce se il browser non può
  8. typeof ( document. getElementsByTagName ) != 'undefined' ) { if (typeof (getElementsByTagName documento)! = 'undefined') (
  9. 'td' ) ; celulas_filhas = cella. getElementsByTagName ('td');
  10. ( typeof ( celula. cells ) != 'undefined' ) { ) Else if (typeof (celula. cellule)! = 'Non definito') (
  11. celulas_filhas = cella. cellule;
  12. { Else ()
  13. ; return false;
  14. )
  15. ; var = celulas_filhas celulas_filhas_qtd. lunghezza;
  16. / / Loop su tutti <td> 's
  17. c = 0 ; c <celulas_filhas_qtd; c++ ) { for (c = 0, c celulas_filhas_qtd <c + +) (
  18. ; var corAtual = null;
  19. ; mescolato var = null;
  20. ; elemento celulas_filhas = [c];
  21. / / Questa operazione è necessaria perché se se nel file CSS esterno è
  22. / / In questo modo si preleva il colore
  23. / / IE 5 +;
  24. elemento. currentStyle ) { if (elemento. currentStyl) (
  25. 'backgroundColor' ] ; corAtual = elemento. '[backgroundColor currentStyl'];
  26. / / Firefox, Moz
  27. ( window. getComputedStyle ) { ) Else if (window. getComputedStyle) (
  28. ( elemento, "" ) elstyle finestra = var. getComputedStyle (elemento, "")
  29. 'background-color' ) ; corAtual = elstyle. GetPropertyValue ('background-color');
  30. )
  31. / / Da RGB a Hex
  32. corAtual. indexOf ( "rgb" ) >= 0 ) { if (corAtual. indexOf ("RGB")> = 0) (
  33. ( corAtual. indexOf ( '(' ) + 1 , var = rgbStr corAtual. slice (corAtual. indexOf ('(') + 1,
  34. ')' ) ) ; corAtual. (')')); indexOf
  35. ( "," ) ; var = rgbValue rgbStr. (""); split
  36. corAtual = "#";
  37. ; hexChars var = "0123456789abcdef";
  38. var i = 0 ; i < 3 ; i++ ) { for (var i = 0, i <3; i + +) (
  39. i ] . valueOf ( ) ; v var = rgbValue [i]. valueOf ();
  40. v/ 16 ) + hexChars. charAt ( v% 16 ) ; + CorAtual = hexChars. CharAt (v / 16) hexChars +. CharAt (v 16%);
  41. )
  42. )
  43. + Cor_index linhaNumero = "+ _" c;
  44. evento == 'over' && corAtual. toLowerCase ( ) != cor_onmousedown. toLowerCase ( ) ) { if (caso == 'oltre' & & corAtual. toLowerCase ()! = cor_onmousedown. toLowerCase ()) (
  45. = Cor_onmouseover mosse;
  46. = corAtual; coresOriginais [cor_index] = corAtual;
  47. ( evento == 'click' ) { ) Else if (== evento 'click') (
  48. corAtual. toLowerCase ( ) == cor_onmousedown. toLowerCase ( ) ) { if (corAtual. toLowerCase () == cor_onmousedown. toLowerCase ()) (
  49. ; mescolato coresOriginais = [cor_index];
  50. { Else ()
  51. cor_onmousedown = mosse;
  52. )
  53. ( evento == 'out' && corAtual. toLowerCase ( ) != cor_onmousedown. toLowerCase ( ) ) { ) Else if (caso == 'out' & & corAtual. ToLowerCase ()! = Cor_onmousedown. ToLowerCase ()) (
  54. ; mescolato coresOriginais = [cor_index];
  55. )
  56. corNova ) { if (agitato) (
  57. . style . backgroundColor = corNova; [Celulas_filhas c]. Stile. BackgroundColor = mosse;
  58. )
  59. )
  60. ; return true;
  61. )

Per utilizzare, fare questo:

HTML:
  1. onmouseout = "destacarLinha(this, 1, 'out');" onmousedown = "destacarLinha(this, 1, 'click');" > <Tr destacarLinha onmouseover = "(questo, 1, 'oltre')" onmouseout = "destacarLinha (questo, 1, 'out')" onmousedown = "destacarLinha (questo, 1, 'click');">

Il primo argomento è il numero di riga nella tabella. E 'necessario conoscere la funzione per tornare ai colori originali. Turn It Up una per una come le occorrenze di <tr> s.

Ogni domanda, commento :)

  • Marcelo Benevides
    Dude! Congratulazioni grande codice!
  • gabriel
    Non ho potuto usare ...
    come faccio a mettere questo codice in un HTML e visualizzare il loro funzionamento ... .. Spiacente 'M un principiante
  • inerte
    Ciao Paolo,

    Limitazione di ogni genere, qualsiasi licenza d'uso? Non più, può fare ciò che vuole con il codice:)
  • Congratulazioni! Grande script. Mi chiedo se non vi è alcuna restrizione sul suo utilizzo?
    Evviva
osservazioni del blog alimentate da Disqus

Português flagItaliano flagCoreano flagChinês (simplificado) flagEnglish flagAlemâo flagFrancês flagEspanhol flag
Japonês flagÁrabe flagRusso flagHolandês flagBúlgaro flagTcheco flagCroata flagDinamarquês flag
Finlandês flagHindu flagPolonês flagRomeno flagSueco flagGrego flagNorueguês flag 
By N2H
Dolet 96 di sconto su DreamHost hosting!
Utilizzare il "Codice Promozionale" inerzia. Lampada con 20GB di spazio e 1 TB di trasferimento.

Articoli correlati

  • No Related Posts

Categorie