jQueryのval()
を使用して値を設定し、コールバックを使用すると値に簡単に追加できます。
これは有用である可能性扱う小さなプラグイン、あなたは
$('.elements').dots(600, 3);
のように呼びたいとちょうどゼロ
$('.elements').dots(0);
を渡すことでキャンセルすることができ
$.fn.dots = function(time, dots) {
return this.each(function(i,el) {
clearInterval($(el).data('dots'));
if (time !== 0) {
var d = 0;
$(el).data('dots', setInterval(function() {
$(el).val(function(_,v) {
if (d < dots) {
d++;
return v + '.';
} else {
d = 0;
return v.substring(0, v.length - dots)
}
})
}, time));
}
});
}
のようなもの
使いやすさを示すデモンストレーションです。
$.fn.dots = function(time, dots) {
return this.each(function(i,el) {
clearInterval($(el).data('dots'));
if (time !== 0) {
var d = 0;
$(el).data('dots', setInterval(function() {
$(el).val(function(_,v) {
if (d < dots) {
d++;
return v + '.';
} else {
d = 0;
return v.substring(0, v.length - dots)
}
})
}, time));
}
});
}
$(document).ready(function() {
$('#dots').on('click', function() {
$(this).val('Proccessing').prop('disabled',true).dots(600, 3);
$('#cancel').show();
});
$('#cancel').on('click', function() {
$(this).dots(200, 10);
$('#dots').dots(0);
setTimeout(function() {
$('#dots').prop('disabled', false).val('Pay');
$('#cancel').hide().dots(0);
},2000);
}).hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="dots" type="button" value="Pay" />
<br /><br />
<input id="cancel" type="button" value="Cancel dots" />