[英]How do I get reference to DOM element in jQuery based on DOM element's contents?
[英]In JQuery how do I get the offset().top of an element after a user removes an element from the DOM with a click
我知道长标题。 抱歉。
我只想知道在单击事件中删除元素后如何获得新职位。 基本上,我有一个栏,一旦用户单击就将其删除。 当滚动的距离大于偏移量时,页面上有一些按钮处于固定位置,因此看起来好像它们已脱钩。
我尝试在click事件之后在回调中执行offset()。top,但它仅输出原始偏移值,而不是距离减去所删除元素的距离。 这使得按钮看起来像是跳入了固定位置,因为它没有从偏移量中删除被单击元素的高度。
var distance = $('.anchor-con').offset().top;
alert($('.anchor-con').offset().top);
$(".icon-cross").click(function(){
distance = $('.anchor-con').offset().top;
alert($('.anchor-con').offset().top);
});
希望有道理。 对此会有一些帮助。
谢谢
抢
您可以使用mouseup
事件代替click
因为您想在单击后知道新位置。
试试下面的代码
var distance = $('.anchor-con').offset().top;
alert($('.anchor-con').offset().top);
$(".icon-cross").mouseup(function(){
distance = $('.anchor-con').offset().top;
alert($('.anchor-con').offset().top);
});
因此您想通过单击将栏删除后知道锚点的新顶部。 请在您的点击处理程序中使用setTimeout(延迟为0),以确保删除该栏。 您执行的方式不能保证条形图已被删除,因为条形图删除单击处理程序可能在位置计算器处理程序之后执行。 如果我正确理解您的问题,下面的方法将起作用。
var distance = $('.anchor-con').offset().top;
alert($('.anchor-con').offset().top);
$(".icon-cross").click(function(){
setTimeout(function(){
distance = $('.anchor-con').offset().top;
alert($('.anchor-con').offset().top);
}, 0);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.