Jquery定位与位置()

时间:2015-08-31 11:46:11

标签: javascript jquery html css

我想做这样的事情:

enter image description here

所以当我点击文字"嗨,......"它是toggle();下拉菜单,并将该菜单定位在图像上。

但是当我调整浏览器大小时,我会得到这样的结果:

这是jsfiddle enter image description here

1 个答案:

答案 0 :(得分:4)

输入你的代码:

var x = $(".icons").position();                     
document.getElementById("user_menu").style.left = x.left + "px";

内部$(".icons").click(function(){

每次单击打开下拉列表时,它都会重新计算位置。

修改:

您还可以将位置绑定到window.onresize事件:

$(".icons").click(function(){
    $("#user_menu").toggle();
    calculatePosition();
});

$(window).resize(calculatePosition);

function calculatePosition() {
    var x = $(".icons").position();                     
    document.getElementById("user_menu").style.left = x.left + "px";
}

由于上面的代码,当您调整窗口大小时,您的元素将被重新定位(在打开下拉列表时避免偏移)