我想改变我的按钮文本时点击。
现在我有
# 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);});});