用于javascript按钮选择的计时器

时间:2015-05-19 13:26:51

标签: javascript jquery json web

以下代码在单击某些按钮时生成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()函数,但没有帮助。

我该如何解决这个问题? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我没有完全了解你的问题。

但是,基于代码,我假设你想根据哪些按钮显示 .active 类来显示JSON字符串?

您的代码包含语法错误。

我根据自己的想法创建了一个快速JSfiddle

但是,我没有使用setTimeout,因为我无法提出有效的用例。

随时向我们提供更多信息,我会改进我的答案!

修改

好的,所以你想在点击后等待 1秒。 我更新了JSfiddle

<强>EDIT²:

我还会使用clearTimeout,因此忽略了发生的点击,而等待1秒。 如this JSfiddle中所示。