javascript - 无法滚动到动态元素

标签 javascript jquery

大家好,我在滚动到动态创建的元素时遇到一些问题。您单击搜索按钮,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/

相关文章:

javascript - ECMAscript 是否提供了构造函数的方法?

javascript - 为所选链接的所有级别的父级添加不同的类

javascript - IE7 使用 jQuery 隐藏/删除/显示内容的问题

javascript - 获取文本区域内当前光标位置下的文本

javascript - 在 Vue 中渲染不同组件类型的列表

javascript - 为什么类中的 javascript 函数没有被提升?

javascript - <A>nchor 的 href 被包含 <div> 的 onclick 覆盖

jquery - Bootstrap Carousel - 根本不循环

javascript - 如何在 JQuery 中重复相同的代码,并为每个代码附加不同的编号?

javascript - 替换 .each 语句中字符串中的字符