Javascript 禁用";“下一步”;按钮,当没有更多可用数据时

Javascript 禁用";“下一步”;按钮,当没有更多可用数据时,javascript,d3.js,Javascript,D3.js,我正在创建一个带有d3.js的条形图,在某些情况下有数百个条目,因此为了保持可读性,我创建了“前10个”和“下10个”按钮。我可以通过创建变量c来禁用“previous 10”按钮加载不存在的数据,该变量在您单击下一个或上一个按钮时添加到+1或-1,当它点击0时禁用。但是,“下一个10”按钮是不同的,因为每组数据有不同数量的行(条)。当按钮点击csv文件的末尾时,是否有任何方法可以禁用该按钮 这是我试着做的,但它似乎没有按照我想要的方式工作 HTML 如果没有完整的代码,我无法确定(如果可以创建

我正在创建一个带有
d3.js
的条形图,在某些情况下有数百个条目,因此为了保持可读性,我创建了“前10个”和“下10个”按钮。我可以通过创建变量
c
来禁用“previous 10”按钮加载不存在的数据,该变量在您单击下一个或上一个按钮时添加到
+1
-1
,当它点击
0
时禁用。但是,“下一个10”按钮是不同的,因为每组数据有不同数量的行(条)。当按钮点击
csv
文件的末尾时,是否有任何方法可以禁用该按钮

这是我试着做的,但它似乎没有按照我想要的方式工作

HTML


如果没有完整的代码,我无法确定(如果可以创建JSFIDLE,它将非常有用),但在最后一条if语句中,您将===将对象计数与“0”进行比较。我相信这是真的,因为计数是一个对象。您确定不是有意这样做的:
计数[某些值]==0
(或者,如果要检查对象计数是否为空-
对象。键(计数)。长度===0

<div class="buttons">
   <button type="button" id="bt1" class="bt1">Previous 10</button>
   <button type="button" id="bt2" class="bt2">Next 10</button>
</div>
            d3.select("#bt2").on("click", () =>{
                a += 10;
                b += 10;
                c += 1;
                update(a,b,c);
                });

            d3.select("#bt1").on("click", () => {
                a -= 10;
                b -= 10;
                c -= 1;
                update(a,b,c);
                });

var counts = {};
   data.forEach(function(r) {
   if (!counts[r.Charge]) {
   counts[r.Charge] = 0; }
   counts[r.Charge]++;
});

if (c === 1) { d3.select("#bt1").attr('disabled', 'disabled'); }   
else { document.getElementById("bt1").removeAttribute('disabled'); }

if ( counts === "0") { d3.select("#bt2").attr('disabled', 'disabled'); }   
else { document.getElementById("bt2").removeAttribute('disabled'); }