私は7秒ごとに自分の背景イメージを変更しています。フェードトランジションでそれをやっています。問題は、移行には時間がかかりすぎるため、背景が完全に白いすべての画像の間に時間差があることです。トランジションデュレーションのプロパティを変更しようとしましたが、何の効果もありません。読書のためのフェードトランジションを高速化する方法css3?
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">
感謝。
を解決する1。 } '代わりに最初の50% –
'トランジション:すべて0.1sリニア0; ' – zer00ne
フェードが持続する期間を決めます。次に、フェードのために残された時間に比例して値が何かを計算します。他のjavascriptコードのために時々不安定になるかもしれませんが、あなたのフェードは常に同じ時間がかかります。 –