Я использую Аэропорт Jquery следующим образом:работает Аэропорт Jquery на неопределенный срок
$('#basketTotal').airport([s]);
$('#basketTotal').html(s);
Вот функция Аэропорт:
(function($){
$.fn.extend({
airport: function(array) {
var self = $(this);
var chars = ['1','2','3','4','5','6','7','8','9','0','.','£'];
var longest = 0;
var items = items2 = array.length;
function pad(a,b) { return a + new Array(b - a.length + 1).join(' '); }
$(this).empty();
while(items--)
if(array[items].length > longest) longest = array[items].length;
while(items2--)
array[items2] = pad(array[items2],longest);
spans = longest;
while(spans--) {
$(this).prepend("<span class='c" + spans + "'></span>");
}
function testChar(a,b,c,d){
$(self).find('.c'+a).html((chars[b]==" ")?" ":chars[b]);
setTimeout(function() {
if(b > chars.length)
testChar(a+1,0,c,d+1);
else if(chars[b] != array[c].substring(d,d+1).toLowerCase())
testChar(a,b+1,c,d);
else
testChar(a+1,0,c,d+1);
}, 15);
}
testChar(0,0,0,0);
}
});
})(jQuery);
я только когда-нибудь передать одну строку в аэропорт function (не массив строк). Аэропорт работает бесконечно и не останавливается, но мне нужно остановить его и выполнить $('#basketTotal').html(s);
, когда он будет готов.
Как я могу остановить функцию, когда она закончила одну итерацию анимации?
Привет, спасибо ответ. Знать, сколько итераций, чтобы остановиться, чрезвычайно сложно. Вот JSFiddle: http://jsfiddle.net/3rPJ4/1/ Он должен остановиться после того, как он обновит его до 9,99 фунта стерлингов, если это имеет смысл! Я только хочу, чтобы он пробежал анимацию один раз, а затем остановился. –
Я добавил один способ завершить цикл. Без подробного описания того, что делает ваш алгоритм, я не знаю, является ли это самым ранним, вы можете закончить цикл, но он останавливает его, когда вы теперь ищете больше промежутков, чем у вас есть. – jfriend00
Удивительная благодарность, отлично работает! Я согласен, что функция неясна, она небольшая, которую я нашел здесь: http://unwrongest.com/projects/airport/ –