循环通过不同的按钮文本.onclick



我想改变我的按钮文本时点击。

现在我有

# Script Loading Button
$(document).ready ->
  $('.loop_button').click ->
    $(this).html('<i class="fa fa-spinner fa-spin"></i> Uploading...');

因此,当点击它改变为fa-spinner图标和Uploading...文本。

如何插入3个或更多字符串要显示在按钮文本。比如:

["Uploading...", "Still Uploading", "This file is HUGE"]

假设您有一个时间间隔,您希望它发生,您可以使用超时来做到这一点。setTimeout函数将在指定毫秒数后执行回调。例如:

timeouts = []
$('.loop_button').click ->
   button = $(this)
   button.html('<i class="fa fa-spinner fa-spin"></i> Uploading...')
   # switch label after 10 seconds...
   timeouts.push setTimeout ( ->
      button.html('<i class="fa fa-spinner fa-spin"></i> Still Uploading')
   ), 10000
   # switch label again after 30 seconds...
   timeouts.push setTimeout ( ->
      button.html('<i class="fa fa-spinner fa-spin"></i> This File is HUGE')
   ), 30000

然后当你的上传完成时,你应该停止任何等待的超时:

clearTimeout timeout for timeout in timeouts
$(".loop_button").html("Start")

这里有一个提琴显示它的作用:http://jsfiddle.net/gwcoffey/6JRfp/1/

这是另一种解决方案…

<>之前$("。).click(function() {美元。"我很害怕。"戴夫,我很害怕。"、"戴夫,我的脑子出问题了。"、"这毫无疑问。"我能感觉到。",函数(索引,值){setTimeout(函数(){$ (" .loop_button ") . html(价值);},索引* 3000);});});

最新更新