Слайд-шоу jquery с использованием фоновых изображений
Автор вопроса: TomОтветов: 5
У меня есть div, который в настоящее время имеет статическое фоновое изображение.
Мне нужно создать слайд-шоу из фоновых изображений для этого div.
Я могу добиться этого, просто установив тайм-аут, а затем изменив фоновое изображение в CSS, но это не очень элегантно.
В идеале я хотел бы, чтобы фоновые изображения исчезали и исчезали, но div содержит другие элементы страницы, поэтому я не могу каким-либо образом изменить непрозрачность.
Кто-нибудь знает хороший способ сделать это с помощью jquery?
Вот некоторый код, который исчезает/появляется, но также исчезает содержимое div.
Как насчет добавления списка разбивки на страницы для большого пальца, чтобы фоновое изображение обновлялось по щелчку, а затем, через секунду или две, оно начинает автоматически появляться и исчезать со следующим bg img?
Для использования различных изображений существует ряд решений, но вы можете просто просмотреть их список.
Ответ 4 · Jepser Bernardino
Вы можете создать абсолютное позиционирование и с помощью плагина ползунка изменить изображения, содержащиеся в div. В противном случае вам придется спрайтить фон. Я достиг этого с помощью плагина вкладок Jquery Tools.
$(".slidetabs").tabs(".images > div", {
// enable "cross-fading" effect
effect: 'fade',
fadeOutSpeed: "slow",
// start from the beginning after the last tab
rotate: true
// use the slideshow plugin. It accepts its own configuration
}).slideshow();
Ответ 5 · Joshua
Вот решение, которое не только решит вашу проблему, но и решит некоторые другие проблемы. Создайте еще один DIV в вашем DOM в качестве наложения и выполняйте свои функции затухания только в этом DIV. Это будет выглядеть так, как если бы содержимое исчезало / исчезало. Этот подход также более эффективен, так как вы затеняете только один DIV вместо нескольких элементов. Вот пример:
$('#containeroverlay').width($('#container').width()).height($('#container').height()).fadeIn('normal', function() {
// Step 1: change your content underneath the hidden div
// Step 2: hide the overlay
$('#containeroverlay').fadeOut('normal');
})
Самое главное, этот подход будет работать в IE6-8, не нарушая псевдонимы шрифтов элементов, которые могут быть у вас в div.