2016-06-08 2 views
-1

Я хочу, чтобы на экране отображался div, заполненный цветом фона, и фиксированные размеры (ширина и высота), где бы я ни находился. Однако, если на экране есть 10 div, я хочу перестать быть в состоянии создать div, когда я нажимаю на страницу и имею сообщение (предупреждение), скажите мне, что «я сделан».Как сделать divs появляться в том месте, где пользователь нажимает?

спасибо.

+2

Привет, добро пожаловать к переполнению стека. Это значительно увеличит вероятность получения хорошего ответа, если вы сможете предоставить фактический код, показывающий, что вы сделали до сих пор. (Трудно сказать, что вы хотите от вопроса) – kthornbloom

+0

Звучит довольно круто! Не могу дождаться, чтобы увидеть, что вы пробовали до сих пор. Отправьте соответствующий код. – Marcus

ответ

2

Это не сложно. См. Пример ниже.

var numOfDivs = 0; 
 

 
document.addEventListener("click", function (e) { 
 
    if (numOfDivs < 10) { 
 
    document.body.innerHTML += '<div style="top:' + e.clientY + 'px; left:' + e.clientX + 'px;"></div>'; 
 
    numOfDivs++; 
 
    } else { 
 
     alert("Done"); 
 
    } 
 
});
div { 
 
    position: absolute; 
 
    width: 50px; 
 
    height: 50px; 
 
    background-color: red; 
 
    transform: translateX(-50%) translateY(-50%); 
 
}
<html> 
 
<body> 
 
</body> 
 
</html>

+1

Я бы добавил преобразование: translateX (-50%) translateY (-50%); к элементам css. Чем вам не нужен минус 25px, а просто нужно установить верхнее и левое значение. Делает это немного легче и доступно для чтения :) – user3528269

+0

@ user3528269 Хорошая идея :) Я добавил это. –

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