Удаление 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, время: 11:11. |