HTML
Это HTML-элемент, который будет иметь изображение на заднем плане:
<div class="image"></div>
CSS
Мы определяем два класса CSS.По умолчанию один для элемента, который содержит image1.jpg
и второй класс, который содержит image2.jpg
:
.image {
width: 1000px; /* Image width */
height: 500px; /* Image height */
background: url('../images/image1.jpg') no-repeat; /* First image */
-moz-background-size: 100% 100%;
-webkit-background-size: 100% 100%;
-o-background-size: 100% 100%;;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src = "../images/image1.jpg", sizingMethod = 'scale');
background-size: 100% 100%;
background-position: center;
}
.image.image-2 {
background: url('../images/image2.jpg') no-repeat; /* Second image */
-moz-background-size: 100% 100%;
-webkit-background-size: 100% 100%;
-o-background-size: 100% 100%;;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src = "../images/image2.jpg", sizingMethod = 'scale');
background-size: 100% 100%;
background-position: center;
}
JavaScript
JavaScript использует обратные вызовы / обещания дляубедитесь, что каждый переход происходит в правильной последовательности:
var elem = $('.image'); // Define the element
elem.hover(toggleImage); // When hovering over the element, run the toggleImage function
function toggleImage() {
// Fade out 0.5 secs, toggle image class, fade in 0.5 secs
elem.fadeOut(500, function(){
elem.toggleClass('image-2').promise().done(function(){
elem.fadeIn(500);
});
})
}