Ich ändere mein Hintergrundbild alle 7 Sekunden, und ich mache es mit einem Übergangsübergang. Das Problem ist, dass der Übergang zu lange dauert, daher gibt es eine Zeitlücke zwischen jedem Bild, bei dem der Hintergrund vollständig weiß ist. Ich habe versucht, die Eigenschaft transition duration zu ändern, aber es hat keine Auswirkungen.Wie fade Übergang schneller css3 machen?
SCSS
.slide_photo {
top:0;
left:0;
margin: 52px 0 0 0;
position: fixed;
width: 100%;
height: 700px;
background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), image-url('landing1.jpg');
background-repeat: no-repeat;
background-position: center center;
background-size: 100% 100%;
transition: all 0.5s ease;
-webkit-animation: fade 7s infinite;
-moz-animation: fade 7s infinite;
-o-animation: fade 7s infinite;
animation: fade 7s infinite;
}
@-webkit-keyframes fade {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@-moz-keyframes fade {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@-o-keyframes fade {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes fade {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
JAVASCRIPT
var slide_images = ["landing1.jpg", "landing2.jpg", "landing3.jpg", "landing4.jpg"];
var slide_count = 0;
$(document).ready(function() {
setInterval(function() {
slide_count = ++slide_count % slide_images.length;
$('.slide_photo').css('background-image', 'linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(\'' + slide_images[slide_count] + '\')');
}, 7000);
});
HTML
<div class="container landing-container">
Danke fürs Lesen.
Sie den Bereich erhöhen können: '20%, 80% { Opazität: 1; } 'anstelle der ursprünglichen 50% –
' Übergang: alle 0.1s lineare 0; ' – zer00ne
Entscheiden Sie, wie lange die Fade dauern sollte. Berechnen Sie dann den Wert, der proportional zur verbleibenden Zeit für das Ausblenden ist. Es kann manchmal shoppy sein, weil andere JavaScript-Code, aber Ihre Fade wird immer die gleiche Zeit dauern. –