2017-01-30 5 views
0

Я пытаюсь создать функцию, которая изменит цвет моего элемента (id="box") при вызове с идентификатором и именем цвета. Как я могу это сделать?Изменить цвет фона элемента в JavaScript

Это код:

function color(id, idColor) { 
 
    id = ''; 
 
    idColor = ''; 
 
    object = document.getElementById(id).style.background = idColor; 
 
}
<div id="box" onclick="color()">Click me</div>

+0

МОЙ СОБСТВЕННЫЙ ПУТЬ Извините – cord

+0

Здесь нет никаких вопросов. –

+0

@cord Ваш вопрос кажется неполным. :( –

ответ

0

вопрос весьма неполным. Но если я понимаю, что вы пытаетесь сделать правильно, вы хотите изменить цвет элемента, передав функции id и color. Вы можете сделать это так.

Метод 1

Invoke color функция с id и color.

function color(id, idColor) { 
 
    document.getElementById(id).style.background = idColor; 
 
}
<div id="box" onclick="color('box','red')">Click me</div>

Способ 2

Используя event объект, вместо передачи id явным образом каждый раз. Это немного лучший подход, так как вам не нужно беспокоиться об атрибутах на div (например, id). Объект event предоставляет атрибут target, который позволяет нам непосредственно захватить узел div (без необходимости делать document.getElementById(id)).

function color(event,idColor) { 
 
    event.target.style.background = idColor; 
 
}
<div id="box" onclick="color(event,'red')">Click me</div>

Invoke цвет только пропускание цвета.

+0

Спасибо, это работает, я стараюсь изо всех сил, чтобы быть более ясным с моим вопросом. – cord

+0

Итак, если бы я хотел передать ширину и высоту, могу ли я сделать что-то вроде этого? function color (id, i dColor, ширина, высота) { px = "px"; width = "" + px; height = "" + px; console.log (id); документ.getElementById (id) .style.background = idColor; document.getElementById (id) .width = width; document.getElementById (id) .width = height; }

cord

0

Вы можете сделать это следующим образом. Дайте некоторую высоту и ширину для Div, чтобы щелкнуть по ней.

<div id ="mybox" onclick="changeColor('mybox','blue')" style="height:100px; width:100px"></div> 

function changeColor(id,idcolor){ 
      document.getElementById(id).style.backgroundColor =idcolor; 
     } 

Надеюсь, это ваш ответ.

+0

OK cool Спасибо, что сделали работу, поэтому, если я хочу передать высоту и ширину, – cord

Смежные вопросы