Удаление div
Доброго времени суток!
Стояла задача: при клике на любое место документа создаются кружочки рандомного цвета. При повторном клике кружочек удаляется. Реализовать удалось, но метод remove почему то не удаляет элемент, а просто чистит его. Как следствие дом-дерево разрастается до бесконечности. Помогите решить проблему. (метод delet выдает ошибку) Спасибо.
<!DOCTYPE html PUBLIC >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(document).click(function(e){
var X = e.pageX;
var Y = e.pageY;
var tar = e.target
var div = document.createElement('div')
document.body.appendChild(div);
$(div).addClass("myClass");
if ( $(tar).hasClass("myClass") ) {
tar.remove();
} else{
var col = ('#' + ((Math.random() * 0x1000000) | 0x1000000).toString(16).substr(1));
//console.log(col)
$(div).css("background-color", col )
.css("position", "absolute" )
.css("width", "50px" )
.css("height", "50px" )
.css("border-radius", "25px" )
.css("left", X - 30)
.css("top", Y - 30);
}
})
});
</script>
</head>
<body>
<p style = "color: #848484">При клике на документ создается элемент случайного цвета.
При повторном клике элемент удаляется</p>
<!-- <div></div> -->
</body>
</html>
|
создание div в месте клика
Vlad9119,
<!DOCTYPE html PUBLIC >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$(document).click(function(e) {
var X = e.pageX;
var Y = e.pageY;
var tar = e.target;
if ($(tar).hasClass("myClass")) return;
var col = "#" + (Math.random() * 16777216 | 16777216).toString(16).substr(1);
var div = $("<div/>", {
"class": "myClass",
css: {
"background-color": col,
"position": "absolute",
"width": "50px",
"height": "50px",
"border-radius": "25px",
"left": X - 30,
"top": Y - 30
},
on: {
"click": function() {
div.remove()
}
}
}).appendTo("body")
})
});
</script>
</head>
<body>
<p style = "color: #848484">При клике на документ создается элемент случайного цвета.
При повторном клике элемент удаляется</p>
<!-- <div></div> -->
</body>
</html>
|
AAAAA!!! СПАСИБО!
|
| Часовой пояс GMT +3, время: 18:37. |