大家好,我在滚动到动态创建的元素时遇到一些问题。您单击搜索按钮,AJAX 就会执行其操作并更新内容。我有一些代码可以动态查找 ID 并滚动到它。我能够获取 ID,但无法滚动到它。到目前为止我有代码:
to_Scroll = $(this).closest('tr').attr('id');
$('html, body').animate({
scrollTop: $(to_Scroll).offset().top
}, 2000);
当我将其与硬编码数据一起放入控制台时,这似乎有效。但动态地执行此操作不会产生任何结果,也不会出现错误。任何帮助将不胜感激
下面是在我制作动画并滚动到元素之前完成的一些代码:
dateChange(blah, blah2, blah3);
to_Scroll = $(this).closest('tr').attr('id');
$('html, body').animate({
scrollTop: $(to_Scroll).offset().top
}, 2000);
function dateChange(dateInput, nGuests, vName){
var promises = [];
var promise = $.ajax({
url: "/blah.asp?blah="+blah+"&blah2="+blah2+"&blah3="+blah3,
dataType:"html",
success: function(data){
table.html(data);
}
});
promises.push(promise);
$.when.apply($, promises).done(function() {
$( "#boatContent" ).removeClass( "loading" ); //Everything is done, remove loading gif
//do other stuff
}
最佳答案
要再次使用 attr 中的 ID,您需要添加 #
$(document).ready(function(){
var to_Scroll = $(this).closest('tr').attr('id');
$('html, body').animate({
scrollTop: $( '#' + to_Scroll).offset().top
}, 2000);
});
关于javascript - 无法滚动到动态元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30364063/