[Java script] Zmiana koloru tla

0

Witam,

Mam napisać skrypt gdzie po podaniu wartosci liczbowej od 0-100 bedziemy otrzymywali odpowiedni kolor np wartosc 4 to 4% 4% 4% RGB.

Oto moj program :

<html> <head> <script type="text/javascript"> function f() { var x=new String(); x=getElementById("text1").value; document.getElementById("div1").style.backgroundColor="x"; } </script> </head> <body>



<input type="text" value="0" id="text1" /> <input type="button" onclick="f()" value="Kliknij mnie"> </body> </html>

Niestety nie dziala. Czy mozecie mi pomoc go dokonczyc?

0
<html> <head> <script type="text/javascript">

function fun()
{
var x= document.getElementById('text1').value;
var div = document.getElementById('div1');

div.style.backgroundColor = "rgb(" +x + "," +x + ","+x+ ")";
}
</script>

</head> </head> <body>



<form> ustaw kolor <input type="text" value="0" id="text1" /> <input type="button" onclick="fun()" value="Kliknij mnie"> </form> </body> </html>

zrobione.

Mam teraz nastepujacy problem jak dodac do tego skryptu przyciski jasniej , ciemniej ?

0

Teraz pod kolor podstawiasz tekst 'x', jedną literkę, a nie zawartość zmiennej x. Żeby użyć zawartości zmiennej x, zlikwiduj cudzysłowy wokół x.

Żeby to działało tak, jak mówisz, musisz spreparować właściwy ciąg znaków będący kolorem CSS -- i dopiero ten ciąg podstawisz do x. Bo jeśli wstawisz tam po prostu wartość zmiennej x, to gdy ktoś wpisze w pole np. 4, to pod backgroundColor podstawisz tą czwórkę. A powinieneś podstawić coś takiego: rgb(4%, 4%, 4%);.

Linia:

var x = new String();

jest zupełnie bez sensu. Nie robi tu niczego pożytecznego. Usuń ją. Zamiast tego, dodaj var na początku następnej linii.

edit: Gdy zacząłem pisać tego posta, to nie było tego powyżej...

@Ibefree:
Zauważ, że masz to nadal źle napisane. Podaj np. 100. W świetle wymagań, jakie opisałeś, powinieneś uzyskać kolor biały: 100%, 100%, 100%. Ale nie będzie biały, tylko szary. Bo nie masz w tym stringu procentów. Zamiast "rgb(100%, 100%, 100%)" tworzysz "rgb(100, 100, 100)". W tej notacji wartości składowych R, G i B mają zakres 0-255, czyli 100 to nawet nie 50%. Musisz dodać tam znaczki procentów.

Z tym jaśniej/ciemniej to zależy jak chcesz zrobić. Jak ktoś wciśnie np. na Jaśniej, to wartość w inpucie też ma się zmienić?

0

Chce żeby po kliknięciu ciemniej zmienil się kolor % rgb np. o 1 % w tonacje ciemniejsza.

0

Przyciski jasniej , ciemniej maja byc zrobione w jednej funkcji i ma wystapic zmienna globalna.

1 użytkowników online, w tym zalogowanych: 0, gości: 1