2013-08-28 2 views
2

Я пытаюсь вставить элемент в DOM, по существу плавающий блок. полностью вне нормального потока элементов, перекрывая что-либо под ним, в определенном положении.Создать элемент в абсолютном положении?

Я пытался:

$('body').append('<div id="popup" style="width:30px; height:30px;">HEY THERE</div>'); 
$('#popup').position({ my: 'left top', at: 'left bottom', of: $('a').first() }); 

Но не получал никаких результатов. Я пытаюсь разместить плавающий ящик непосредственно под первым тегом привязки в документе.

Он попадает в DOM, но он не расположен правильно.

Возможно, я должен использовать insert или какую-то комбинацию относительного и абсолютного позиционирования?

+0

html if any вставьте его для начала. –

+0

Я просто выполняю это на консоли в настоящее время, проверяя его на случайных страницах. Я использовал эту страницу для тестирования ... http://lists.w3.org/Archives/Public/public-speech-api/2012Sep/0109.html – Aerovistae

ответ

1

Если вы хотите, прилагается ниже первого тега привязки, вы можете попробовать -

$("a").first().after('<div id="popup" style="width:30px; height:30px;">HEY THERE</div>'); 

EDIT: Как было предложено ОП:
добавить position: absolute и z-index: 999, чтобы разместить его на улице.

+0

Но вне потока DOM. Как плавающий ящик. – Aerovistae

+0

Что вы подразумеваете под плавающей коробкой? Не могли бы вы опубликовать ссылку на скрипку для чего-то, что вы уже пробовали? – Vandesh

+0

Ха-ха, я ничего не пробовал до сих пор ... Я все еще ищу нужные команды. Я имею в виду, что это * поверх * любых других элементов ... он просто плавает там, вне нормального DOM. Он не должен ничего отталкивать, он должен появляться поверх других элементов. – Aerovistae

2

Я бы взглянуть на $.offset():

var a = $('a').first(); 
var offset = a.offset(); 
var aLeft = parseInt(offset.left); 
var aTop = parseInt(offset.top); 

//And I have never used .position() I would edit the CSS: 
$("#popup").css({left: aLeft + 10, top: aTop + 10, position: "absolute", z-index: 1000}); 
+0

Oohh I * think * Это была просто опечатка транскрипции. .. одна секунда ... да, это было так. Теперь это здорово, но есть ли способ сделать его абсолютным ОТНОСИТЕЛЬНО к первому тегу привязки? Я предполагаю, что сначала могу найти правильные относительные координаты вручную, но я надеялся сделать его более кратким. – Aerovistae

+0

Это тоже очень полезно ... Я собираюсь продолжать работать и, возможно, в конечном итоге сочетаю эти два ответа. Благодаря! – Aerovistae

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