2014-02-06 3 views
0

아주 간단한 JavaScript 프로그램을 구현하려고합니다. 버튼을 누를 때마다 배경색의 RGB 값이 무작위로 지정됩니다. 내가 함께 thergb 변수를 해킹하는 방법자바 스크립트를 사용하여 백그라운드의 rgb 값 변경 onclick

function change() { 
    var x = Math.floor(Math.random() * 256); // range is 0-255 
    var y = Math.floor(Math.random() * 256); 
    var z = Math.floor(Math.random() * 256); 
    var thergb = "'rgb(" + x + "," + y + "," + z + ")'"; 
    console.log(thergb); 
    document.body.style.background=thergb; 
} 

나는 문제에 확신 해요,하지만 난 아주 확실하지 않다, 그래서 콘솔에 오류가 없습니다 :

다음은 자바 스크립트입니다. 콘솔에 로그를 기록하여 실제 임의의 rgb를 제공하는지 확인합니다.

여기에 전체 JSFiddle입니다 : http://jsfiddle.net/L92bY/

+0

http://jsfiddle.net/L92bY/8/ –

+0

콘솔에 오류가 있습니다 - "변경이 정의되지 않았습니다";) (귀하의 피들에서) btw에 추가 " '"이 있습니다. –

답변

2

당신은 왜 .. '에 싸서있다?

당신이 작동 제거하면 ... http://jsfiddle.net/gaby/L92bY/9/

에서

var thergb = "rgb(" + x + "," + y + "," + z + ")"; 

데모 (당신은 또한 head 태그 아니라 onLoad 이벤트에 change 기능을 정의하는 데 필요한 ..를)

+0

필자는'document.body.style.background = "rgb (4,5,23)"'을 단지 실행하면 따옴표로만 작동하기 때문에 포장했습니다. 내가 지금 왜 필요하지 않니? – user1925805

+0

@ user1925805 문자열이라는 것을 나타 내기 위해 한 가지 종류의 인용 부호가 필요합니다.하지만'''과'''인용 부호를 모두 사용했습니다. –

+0

내 실수는 따옴표를 포함하여 변수에서'= '를 지나서 모든 것을 복제해야한다고 생각했습니다. – user1925805

2

rgb() 값에 대한 CSS 구문은 작은 따옴표를 포함하지 않습니다.

변경 'rgb(x,y,z)'에서 rgb(x,y,z)으로 변경하십시오.

0

두 가지 :

  1. 당신은 바이올린 서버가 코드를 넣 곳의 "파라미터 nowrap"옵션 중 하나를 선택해야합니다.
  2. "rgb()"표현식 주위에 작은 따옴표를 제거해야합니다.

    var thergb = "rgb(" + x + "," + y + "," + z + ")"; 
    

는 개인적으로 나는 "의 backgroundColor"대신 그냥 "배경"을 설정 싶지만, 그것은 "배경"을 설정하는 (적어도 파이어 폭스에서) 작동합니다.

Fixed fiddle.

0

작업 코드 (코드 수정) : http://jsfiddle.net/L92bY/18/

RGB와 CSS 색상에 대한

구문은 rgb(r,g,b) (여분 아포스트로피 없다 "'") =하지 'rgb(r,g,b)'

function change() { 
    var x = Math.floor(Math.random() * 256); // range is 0-255 
    var y = Math.floor(Math.random() * 256); 
    var z = Math.floor(Math.random() * 256); 
    var thergb = "rgb(" + x + "," + y + "," + z + ")"; 
    console.log(thergb); 
    document.body.style.background=thergb; 
} 

가 PS :이 당신을 위해 작동하지 않는 경우가되기 전에 당신이 자바 스크립트 함수를 호출 선언했다.

관련 문제