读书人

JQUERY获取空间的left和top弹出DIV层

发布时间: 2013-01-26 13:47:04 作者: rapoo

JQUERY获取空间的left和top,弹出DIV层,点击取消关闭后,再次点击top和left不准确了。
显示div部分:

var txt=$("#"+vt).offset();
var txtop=txt.top;
var txleft=txt.left;
$("#repro0up").offset({top:txtop+10,left:txleft+136});
$("#repro0up").fadeIn(1000);


取消关闭div部分:

$("#repro0up").offset({top:0,left:0});
$("#repro0up").hide();


上面这段 我这调试 第一次点击 div的位置是正确无误的 可是当我取消,然后再次点击显示DIV层的时候,这时候的位置就和第一次的不一样了。。。

望高人指点 谢谢~~


[解决办法]

$("#repro0up").offset({top:0,left:0});


没必要家这句话
[解决办法]
var txt=$("#"+vt).offset();

这个节点是随着你的reproOup变化的?
如果你的txt这个节点不是变化的,那应该不会出现你所说的这个问题。
还有如果是变化的,可以定义一个全局的变量,记住第一次的位置,以后就用这个变量来存储就OK了

var txtop=0;
var txleft=0;
function show(){
if(txtop != 0 && txleft !=0){
// 这里只要记住一次就OK了,以后就全部都用这个top和left,他就不会变化了
var txt=$("#"+vt).offset();
txleft = txt.left;
txtop = txt.top;
}
$("#repro0up").offset({top:txtop+10,left:txleft+136});
$("#repro0up").fadeIn(1000);
}
取消关闭div部分:

$("#repro0up").hide();

[解决办法]
贴你的代码全来测试下,应该代码有问题。。
[解决办法]

$("#repro0up").offset({top:xtxtop+10,left:xtxleft+136});

// 改为
$("#repro0up").css({top:xtxtop+10,left:xtxleft+136});

读书人网 >ASP

热点推荐