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'); }