Удаление элемента через секунду после появления
$("body").append("<div class='poof' style='top: " + margintop + "px; left: " + marginleft + "px'></div>"); Вот так через рандомный промежуток времени, больше или меньше секунды, создаю блок с абсолютным позиционированием. Мне нужно, чтобы каждый такой блок ровно через секунду удалялся (либо скрывался, не важно). Как это осуществить? |
Anfisunka,
так? <!DOCTYPE html> <html> <head lang="en"> <script src="//code.jquery.com/jquery-1.11.3.min.js"></script> <meta charset="UTF-8"> <title> </title> <style> div { border: 1px solid black; height: 20px; } </style> </head> <body> <script> var div = "<div class='poof' style='top: " + 10 + "px; left: " + 10 + "px'></div>"; $("body").append(div); setTimeout(function () { $('.poof')[0].remove(); }, 2000) </script> </body> </html> |
Так ведь появляются блоки этого класса в разное время, и их много. Возможен такой вариант, что предыдущий блок ещё не удалился, а новый уже появился, тогда новый блок исчезнет раньше?
|
Цитата:
|
Блоков отображаться может сколько угодно, а вот если удаляться они будут одновременно, будет плохо.
|
...Всё, я поняла. Спасибо за помощь
|
Anfisunka,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> body,html{ height: 100%; } body{ position: relative; } .poof { background: #FFCC00; width: 50px; height: 50px; position: absolute; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ var s = $("body"); s.click(function(event) { var div = $("<div/>",{css : {top: event.clientY - 30 + "px", left: event.clientX - 30 + "px"}, "class" : "poof"}); div.appendTo(s).delay(1000).show(function() { div.remove() }) }); }); </script> </head> <body> Click on the body anywhere </body> </html> |
Часовой пояс GMT +3, время: 03:22. |