Доброго времени!
Подскажите как зациклить таймер, чтобы когда заканчивался отсчет начинался заново.
$(function () {
$('.psproductcountdown').each(function(){
var to = parseInt($(this).data('to'));
if (!to) {
return true;
}
var labels = pspc_labels,
template = _.template(pspc_countdown_tpl),
$pspc = $(this).find('.pspc-main');
if (pspc_show_weeks) {
var currDate = '00:00:00:00:00';
var nextDate = '00:00:00:00:00';
} else {
var currDate = '00:00:00:00';
var nextDate = '00:00:00:00';
}
// Parse countdown string to an object
function strfobj(str) {
var pieces = str.split(':');
var obj = {};
labels.forEach(function(label, i) {
obj[label] = pieces[i]
});
return obj;
}
// Return the time components that diffs
function diff(obj1, obj2) {
var diff = [];
labels.forEach(function(key) {
if (obj1[key] !== obj2[key]) {
diff.push(key);
}
});
return diff;
}
// Build the layout
var initData = strfobj(currDate);
labels.forEach(function(label, i) {
$pspc.append(template({
curr: initData[label],
next: initData[label],
label: label,
label_lang: pspc_labels_lang[label]
}));
});
// Starts the countdown
$pspc.countdown(to, function(event) {
var data;
if (pspc_show_weeks)
var newDate = event.strftime('%w:%d:%H:%M:%S');
else
var newDate = event.strftime('%D:%H:%M:%S');
if (newDate !== nextDate) {
currDate = nextDate;
nextDate = newDate;
// Setup the data
data = {
'curr': strfobj(currDate),
'next': strfobj(nextDate)
};
// Apply the new values to each node that changed
diff(data.curr, data.next).forEach(function(label) {
var selector = '.%s'.replace(/%s/, label),
$node = $pspc.find(selector);
// Update the node
$node.removeClass('flip hidden');
$node.find('.curr').text(data.curr[label]);
$node.find('.next').text(data.next[label]);
// Wait for a repaint to then flip
_.delay(function($node) {
$node.addClass('flip');
}, 50, $node);
});
}
});
});
});
var pspc_countdown_tpl = '' +
'<div class="time <%= label %>">' +
'<span class="count curr top"><%= curr %></span>' +
'<span class="count next top"><%= next %></span>' +
'<span class="count next bottom"><%= next %></span>' +
'<span class="count curr bottom"><%= curr %></span>' +
'<span class="label"><%= label_lang.length < 6 ? label_lang : label_lang.substr(0, 3) %></span>' +
'</div>';