我正在創建一個網站,當您滾動到某個區域時,會出現一個gif
。它只循環一次;如果繼續滾動,則會更改爲另一個gif
(也只能播放一次)。如果向後滾動,則會更改爲第一個gif
,然後重新啓動它以便再次播放。如何在交換GIF時避免「眨眼」?
但是,當發生變化時,會出現我不想要的眨眼。這裏是fiddle。這裏是javascript
:
$(window).ready(function() {
var v = 0;
$(window).on("scroll", function() {
var scrollTop = $(this).scrollTop();
if (scrollTop > 100 && scrollTop < 200) {
if ($('#container').attr('data-img') != 'http://i.imgur.com/Hhmt8.gif') {
++v;
$('#container').attr('data-img', 'http://i.imgur.com/Hhmt8.gif');
$('#container').css('background-image', 'url(http://i.imgur.com/Hhmt8.gif?v=' + v + ')');
}
} else if (scrollTop >= 200) {
if ($('#container').attr('data-img') != 'http://i.imgur.com/TUAwA.gif') {
++v;
$('#container').attr('data-img', 'http://i.imgur.com/TUAwA.gif');
$('#container').css('background-image', 'url(http://i.imgur.com/TUAwA.gif?v=' + v + ')');
}
} else {
$('.imageHolder').css('background', 'blue');
}
});
});
我試圖消除從background-image
的?v='+v+'
但隨後它不會加載每次它改變了......有沒有一種方法來保持運作,因爲它是不閃爍?
預加載它們...... –
它不會動畫。最後一幀將顯示。你可以看到[fiddle](https://jsfiddle.net/lj_tang/qynvg44b/11/)和[this one](https://jsfiddle.net/qynvg44b/19/)來看看我的意思。你沒有眨眼,但GIF只發生一次 – Caro