2013-07-01 4 views
0

Это меня сбило с ума. Я пытаюсь расположить div рядом с местом поиска. Когда значение вводится, div должен перемещаться курсором и отображать результаты.jQuery Div Позиционирование вопроса

У меня есть скрытый div, вне всех остальных div.

<div id="search_collection_enc"></div> 

Я извлекаю данные и собираю координаты x/y мыши. Они были помещены в скрытые поля, и я подтвердил, что они существуют. Затем я делаю следующее:

current_x_val = $("#current_x").val(); 
current_y_val = $("#current_y").val();       
$('#search_collection_enc').css({"position":"absolute","left":current_x_val,"top":current_y_val,"z-index":100}); 
$("#search_collection_enc").html(coll_rows_html); 
$("#search_collection_enc").show(); 

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

Любые идеи? Вождение меня вокруг поворота.

+0

Можете ли вы привести пример, показывающий, что вы ожидаете, и, вероятно, скрипку с проблемой? –

ответ

2

Вам необходимо использовать устройства при настройке top и left.

Edit: JQuery будет принуждать целые значения использовать «точек», но так как вы запрашиваете значения с помощью метода val(), current_x_val и current_y_val возвращаются в виде строки и, следовательно, не будет принуждать.

$('#search_collection_enc').css({ 
    "position":"absolute", 
    "left":current_x_val + 'px', //add units to left 
    "top":current_y_val + 'px', //add units to top 
    "z-index":100 
}); 
+1

На самом деле, jQuery не приводит числа без единицы к 'px'. Хотя, я не уверен, что он принуждает строки (что является возвратом '.val()'), поэтому может быть стоит сделать снимок. –

+0

Вот и все! Спасибо. Пометит вас как мой ответ, как только это позволит мне. – CargoMeister

+1

Да, это не принуждает строки http://jsfiddle.net/2DFLx/, поэтому альтернативное решение конвертирует строку в число «left: + current_x_val», top: + current_y_val' также будет работать, но я думаю, добавление 'px' в этом аспекте является более понятным. –

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