2016-05-09 2 views
-1

Я пытаюсь сделать палитру цветов, чтобы нажимать на цвет, а затем нажимать на пустое место в таблице, и пространство изменится на выбранный мной цвет. Это осуществляется с помощью изображений. Я действительно новичок в JavaScript, поэтому я стараюсь понять, как работает onClick, и если мои функции делают то, что они должны быть.onClick color palette

function GetColour(){ 
    colBlue = document.getElementById("Blue"); 
    colRed = document.getElementById("Red"); 
    colYellow = document.getElementById("Yellow"); 
    colGreen = document.getElementById("Green"); 
    colOrange = document.getElementById("Orange"); 
    colBlack = document.getElementById("Black"); 
    colWhite = document.getElementById("White"); 
    colBrown = document.getElementById("Brown"); 
} 

function CellClicked(cell){ 
    document.getElementById("board").setAttribute(GetColour(), id) 
} 

Вот мой цвет поддона (они установлены в двух таблиц для разметки, так что я просто покажу один на этот пост. Это за пределами тегов сценария.

<div id="board" onlClick="GetColour()"> 
<table> 
     <tr height=30> 
      <td id=Blue><img type='button' src='Blue.gif' onclick='GetColour()'></td> 
      <td id=Red><img type='button' src='Red.gif' onclick='GetColour()'></td> 
      <td id=Yellow><img type='button' src='Yellow.gif' onclick='GetColour()'></td> 
      <td id=Green><img type='button' src='Green.gif' onclick='GetColour()'></td> 
     </tr> 

И вот моя строка 4 «пространства», чтобы положить эти цвета.

<TR> 
    <TD> 
     <IMG src="transparent.gif" alt="empty hole" onclick="CellClicked(1)"> 
     <IMG src="transparent.gif" alt="empty hole" onclick="CellClicked(2)"> 
     <IMG src="transparent.gif" alt="empty hole" onclick="CellClicked(3)"> 
     <IMG src="transparent.gif" alt="empty hole" onclick="CellClicked(4)"> 
    </TD> 

Я надеюсь, что я задал этот вопрос понятным образом, когда я использую консоль для Chrome, нажав цвет ничего не показывает (предполагая, что и в надежде, что это сработало. но t и нажимая на пустое место, чтобы поместить цвет, я получаю ошибки, говорящие «Uncaught ReferenceError: id не определен», ссылаясь на id в функции CellClicked().

+0

У вас есть синтаксическая ошибка в вашем коде 'onlClick =" GetColour() ' – Chris

+0

Спасибо, все еще имея консоль, сообщите мне, что идентификатор не определен - хотя я определил все цвета на поддоне с именами идентификаторов. –

+0

этот параметр называется 'cell' внутри вашей функции CellClicked()', но вы пытаетесь использовать 'id' (который не определен внутри функционального блока). Вместо этого используйте' cell', когда вы выполняете свой 'setAttribute '. – Chris

ответ

0

Ну, слишком много ошибок в вашем js. Я не знаю, с чего начать. я должен дать Ua новый метод: 1. Изменить все ваши GetColour() в GetColour (это) 2. Измени все ваши CellClicked() в CellClicked (это) 3. Добавьте код в вашем JS

var colorArr = []; 
function GetColour(e) { 
    colorArr.push(e.src); 
} 
function CellClicked(e) { 
    var color = colorArr.pop(); 
    e.setAttribute("src", color); 
} 

Looks like this Другие небольшие ошибки для u, чтобы узнать.

+0

Большое вам спасибо! –