以下代码在单击某些按钮时生成json字符串。
<div id="btnStudios" >
<button type="button" id="01" value="warner" class="btn btn-default">Warner</button>
<button type="button" id="02" value="tf1" class="btn btn-default">TF1</button>
<button type="button" id="03" value="gaumont" class="btn btn-default">Gaumont</button>
<button type="button" id="04" value="pathe" class="btn btn-default">Pathe</button>
<button type="button" id="05" value="studiocanal" class="btn btn-default">StudioCanal</button>
<button type="button" id="06" value="francetv" class="btn btn-default">FranceTV</button>
<button type="button" id="07" value="m6snd" class="btn btn-default">M6SND</button>
</div>
var output = $(".btn").click(function() {
$(this).toggleClass('active');
var output = {
Studios: $('#btnStudios button.active').map(function() {
return $(this).val();
}).get(),
};
if (!output.Studios.length) {
output.Studios = $('#btnStudios button').map(function() {
return $(this).val();
}).get()
$('.list').html(JSON.stringify(output));
});
基本上我正在寻找的是一个计时器,每次单击一个按钮时刷新1秒,然后根据按钮选择生成json字符串。
我使用了setInterval()
函数,但没有帮助。
我该如何解决这个问题? 提前谢谢。
答案 0 :(得分:1)
我没有完全了解你的问题。
但是,基于代码,我假设你想根据哪些按钮显示 .active 类来显示JSON字符串?
您的代码包含语法错误。
我根据自己的想法创建了一个快速JSfiddle。
但是,我没有使用setTimeout
,因为我无法提出有效的用例。
随时向我们提供更多信息,我会改进我的答案!
修改强>
好的,所以你想在点击后等待 1秒。 我更新了JSfiddle。
<强>EDIT²:强>
我还会使用clearTimeout
,因此忽略了发生的点击,而等待1秒。
如this JSfiddle中所示。