Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563

    Gradiente di colori e scelta RGB in due TEXT

    Salve.
    Ho a disposizione questo scriptino che mostra il gradiente dei colori:

    codice:
    ...
    ...
    	<script type="text/javascript">
    		function Hexa(Dec){ 
    		    var nb = Dec.toString(16) 
    		    if (nb.length < 2) {nb = "0" + nb} 
    		    return(nb) 
    		} 
    		function GradientPart(dr, dg, db, fr, fg, fb, Step) {             
    		    cr=dr; cg=dg; cb=db 
    		    sr = (fr-dr) / Step 
    		    sg = (fg-dg) / Step 
    		    sb = (fb-db) / Step 
    		    var Result = '' 
    		    for (var x = 0; x <= Step; x++) { 
    		        var cmd = " onclick=\"ColorCode.value=this.bgColor.toUpperCase();\" onmouseover=\"ColorShow.style.backgroundColor=this.bgColor;\"" 
    		        Result += "<TD style=height:3;width:3; BGCOLOR=#" + Hexa(Math.floor(cr)) + Hexa(Math.floor(cg)) + Hexa(Math.floor(cb)) + cmd + "></TD>" 
    		        cr += sr; cg += sg; cb += sb 
    		        } 
    		    return(Result) 
    		} 
    		function WriteRow(a, i, StepNB){ 
    		    str = "<TR>" 
    		    + GradientPart(a,i,i, a,a,i, StepNB) 
    		    + GradientPart(a,a,i ,i,a,i, StepNB) 
    		    + GradientPart(i,a,i, i,a,a, StepNB) 
    		    + GradientPart(i,a,a, i,i,a, StepNB) 
    		    + GradientPart(i,i,a, a,i,a, StepNB) 
    		    + GradientPart(a,i,a, a,i,i, StepNB) 
    		    + "</TR>" 
    		    return(str) 
    		} 
    		function ColorTable(ColorStep, StepNB){ 
    		    sHTML = "<TABLE CELLPADDING=0 CELLSPACING=0 STYLE='border: 1px solid black;text-align:left;'>" 
    		    for (a=0; a<=255; a+=ColorStep){ 
    		        sHTML += "<COL WIDTH=\"3\">" 
    		    } 
    		    for (a=0; a<=255; a+=ColorStep){ 
    		        sHTML += WriteRow(a,0, StepNB) 
    		    } 
    		    for (i=0; i<=255; i+=ColorStep){ 
    		        sHTML += WriteRow(255,i, StepNB) 
    		    } 
    		    sHTML += "</TABLE>" 
    		    return(sHTML) 
    		}
    	</script> 
    ...
    ...
    e consente di inserire la scelta effettuata in un input type text (sull'onload="Colors.innerHTML = ColorTable(16,15);"):

    codice:
    				<td>Colore sfondo 1:</td>
    				<td>
    					<table style="width:100%;border:0px;"> 
    						<tr>
    							<td ID="Colors"></TD>
    						</tr> 
    						<tr> 
    							<td>
    								<DIV ID="ColorShow" STYLE="width: 100px; height: 60px; border: 1px solid black; float:left;"></DIV>
    								
    <INPUT name="struttura_colore1" ID="ColorCode" TYPE="text" SIZE="8" class="txt"/>
    							</td> 
    						</tr> 
    					</table>
    				</td>
    Ora, come modificare o anche duplicare all'occorrenza le funzioni js per far sì che i colori da scegliere siano due e quindi finiscano in due input text separati?

    Vi ringrazio.

    Roby

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    In pratica devo duplicare ciò che è contenuto qui: http://www.creamweb.it/colore.htm

    Roby

  3. #3

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non so quali siano esattamente le tue intenzioni... ma puoi provare queste modifiche:

    codice:
    function GradientPart(dr, dg, db, fr, fg, fb, Step) {             
        cr=dr; cg=dg; cb=db 
        sr = (fr-dr) / Step 
        sg = (fg-dg) / Step 
        sb = (fb-db) / Step 
        var Result = '' 
        for (var x = 0; x <= Step; x++) { 
            var cmd = " onclick=\"DispColor(this);\" onmouseover=\"ColorShow.style.backgroundColor=this.bgColor;\"" 
            Result += "<TD CLASS=ColorCell BGCOLOR=#" + Hexa(Math.floor(cr)) + Hexa(Math.floor(cg)) + Hexa(Math.floor(cb)) + cmd + "></TD>" 
            cr += sr; cg += sg; cb += sb 
            } 
        return(Result) 
    } 
    function DispColor(obj){ 
    	Trg = (document.getElementById('scelta').checked)?"":"1";
    	document.getElementById("ColorCode"+Trg).value=obj.bgColor.toUpperCase(); 
    }
    ...
    ...
    	<TR> 
    		<TD><DIV ID=ColorShow STYLE="width: 100; height: 60; border: 1px solid black"></DIV></TD> 
    		<TD><input type=radio name=scelta id="scelta" checked> Code couleur : <INPUT ID=ColorCode TYPE=text SIZE=8>
    		
    
    		<input type=radio name=scelta > Code couleur : <INPUT ID=ColorCode1 TYPE=text SIZE=8></TD> 
    	</TR> 
    ...
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5

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 © 2024 vBulletin Solutions, Inc. All rights reserved.