繁体   English   中英

jQuery:暂时toggleClass / addClass,removeClass?

[英]jQuery: Temporarily toggleClass / addClass, removeClass?

我在ZeroClipboard中使用以下代码来更改innerHTML文本和我的'副本到剪贴板按钮'的类。 单击后,这将激活类转换。

client.on( "complete", function(client, args) {
            this.innerHTML = 'Copied to Clipboard';
            $( this ).removeClass( "btn-info" ).addClass( "btn-success", 357 );         
            });

有没有一种方法可以让我更改类和innerHTML临时? 即改变类(至btn-success )仅几秒钟以指示按钮被单击,并自动恢复为原始类( btn-info )? 并删除添加的innerHTML = 'Copied to Clipboard'

因此,班级转换将是' btn-info '>' btn-success '>' btn-info '。 并将innerHTML恢复为预先设置的内容(每个按钮具有不同的innerHTML)。

我尝试过使用toggleClass,但运气不好。

尝试使用简单的超时

client.on("complete", function (client, args) {
    var html = this.innerHTML;
    this.innerHTML = 'Copied to Clipboard';
    var $this = $(this).removeClass("btn-info").addClass("btn-success");

    //clear previous timer
    clearTimeout($this.data('completeToggler'))
    var timer = setTimeout(function () {
        $this.addClass("btn-info").removeClass("btn-success");
        $this.html(html)
    }, 2000);
    $this.data('completeToggler', timer);
});

演示: 小提琴


也尝试使用toggleClass()

client.on("complete", function (client, args) {
    this.innerHTML = 'Copied to Clipboard';
    var $this = $(this).toggleClass("btn-info btn-success");
    setTimeout(function () {
        $this.toggleClass("btn-info btn-success");
    }, 2000)
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM