Blot skriv dit nummer nedenfor, så ringer vi dig op hurtigst muligt.
'+
''+
''+
'
';
var track = container.querySelector('#sref-track');
function lastName(full){
var parts = full.split(' ');
return parts[0] + ' ' + parts[parts.length-1];
}
function esc(s){return String(s).replace(/[&"']/g,function(c){return{'&':'&','':'>','"':'"',"'":'''}[c];});}
function shortQuote(q){ return q; }
function cardHTML(t, idx){
return (
'
'+
''+
''+
'
'+
'
'+esc(lastName(t.name))+'
'+
'
'+esc(t.company)+'
'+
'
'+
'
'+
''+
'
'+
'
"
'+
'
'+esc(shortQuote(t.quote))+'
'+
'
'+
'
'+esc(t.name)+'
'+
'
'+esc(t.title)+'
'+
'
'+esc(t.company)+'
'+
'
'+
'
'+
'
'+
'
'
);
}
// Render one copy first so we can measure its width, then render enough
// copies that total track width >= 2x viewport. That's what guarantees a
// seamless infinite loop: wrapping offset by exactly one copy at the moment
// copy N+1 has reached where copy N was. Never visible to the user.
function buildHTML(copies){
var s = '';
for (var c = 0; c 0.1) dt = 0.1;
last = now;
if (loopWidth > 0){
var currentSpeed = slow ? speed * slowFactor : speed;
offset -= currentSpeed * dt;
// Robust wrap: handle any number of loopWidths in one go
while (offset