0

这一直让我发疯。我正在尝试将 div 放置在搜索字段存在的位置附近。输入值后,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();

数据得到很好的填充。但显示屏始终位于左上角。

有任何想法吗?开车带我绕弯。

4

1 回答 1

2

top设置和left属性时需要使用单位。

编辑: jQuery 将强制整数值使用“px”,但由于您正在使用该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
});
于 2013-07-01T19:09:47.227 回答