2017-05-16 4 views
0

Ich benutze diesen jQuery-Code, um divs, die Straßenkamera Streams enthält schieben.div slide mit jQuery

jQuery(function() { 
var $els = $('div[id^=slide_]'), 
    i = 0, 
    len = $els.length; 

$els.slice(1).hide(); 
setInterval(function() { 
    $els.eq(i).fadeOut(function() { 
     i = (i + 1) % len 
     $els.eq(i).fadeIn(); 
    }) 
}, 20000) }); 

Es funktioniert ganz gut. Das Problem, das ich habe, ist, dass, wenn es zur nächsten Straßenkamera rutscht, es einen fue Secends braucht, um den Strom zu laden.

Ich versuche, wie eine Dose, um herauszufinden, die nächste Kamera FadeIn die fadeOut für 5 Sekunden verzögern, so dass im nächsten Kamera kann „Vorspannung“ vor vorheriger Kamera

Fadeout

Irgendwelche Ideen, wie ich dieses Problem lösen kann?

PS: Sorry für die schlechte Englisch

+0

Ich bin nicht surt, aber versuchen Sie: $ els.eq (i) .fadeIn (5000); anstelle von $ els.eq (i) .fadeIn(); –

+0

Ich habe versucht, nur verzögert die Einblendung und gibt mir einen leeren Bildschirm für 5 Sekunden vor dem Laden der nächsten Kamera –

+0

vielleicht können Sie den nächsten Kamera-Stream in einem versteckten Div laden, bevor Sie das Ausblenden beginnen. Dann wird es zwischengespeichert und sollte schnell erscheinen? – irregularexpressions

Antwort

0

Okay, so ich mein Problem gelöst ich mit war. Jetzt habe ich ein neues Problem, das ich ein Flackern bin immer, wenn von einem Video zum nächsten

Veränderung ist ihr meinen Code, wahrscheinlich nicht die eleganteste Code aber es

$("#slideshow > span:gt(0)").hide(); 

setInterval(function() { 
    $('#slideshow > span:first') 
    .delay().css({'display':'inline'})  
    .delay().css({'opacity':'1',}).animate({'opacity': 0}, 3000) 
    .next() 
    .delay().css({'opacity':'0',}).animate({'opacity': 1}, 3000) 
    .delay().css({'display':'inline'})   
    .end() 
    .appendTo('#slideshow'); 
}, 10000); 

setInterval(function() { 
    $('span:nth-child(2)') 
    .delay().css({'display':'inline','opacity':'0',})  
    .end() 
}, 10000); 

setInterval(function() { 
    $('span:nth-last-child(2)') 
    .delay().css({'display':'none','opacity':'0',})  
    .end() 
}, 10000); 

Irgendwelche Ideen Arbeiten, wie ich kann das Flimmern bei der Übertragung von einem Video zum nächsten entfernen?