javascript offsetTop第一次返回0但返回后的好值

时间:2016-04-19 14:16:09

标签: javascript datatables

我正在使用我网站上的数据表插件,并创建一个“添加按钮”以向表中添加新行。添加行后,我滚动到该行。实际上我设法做到了,因为我以不同的方式做到了,但我想了解错误的位置

    var myTable = $('#id_Table').DataTable({
        "bSort" : false
    });

    var emptyArrayOfGAElement = makeEmptyArray(myTable.columns().nodes().length);


    $("#btnAddRow").click(function(){

        // At the beginning I wanted to use the offsetTop property of the row added
        var trst = myTable.row.add(emptyArrayOfGAElement).draw(false).node();
        console.log($(trst));
        console.log($(trst)[0].offsetTop);
        console.log('----------------');


        /* This doesn't work for the first row added because it returned 0
        $('html, body').animate({
            scrollTop : $(trst)[0].offsetTop
        }, 500);
        */


        // This work 
        $('html, body').animate({
            scrollTop : $('#id_Table').offset().top
        }, 500);

        myTable.page('last').draw('page');
    });

一开始我想使用添加的行的offsetTop属性,但是对于第一行添加'$(trst)[0] .offsetTop'返回0值而不是当我查看控制台日志时offsetTop属性不等于0

console

这是我的codepen.io:http://codepen.io/robert91/pen/aNKBOv

由于

0 个答案:

没有答案