|
Скрипт плавной смены background-image в div
Очень нужен скрипт скрипт плавной смены background-image в div.
Найти нигде не удалось. Если кто-нибудь знает как это можно сделать(если это вообще возможно), огромная просьба помочь )) |
Что есть "плавная смена"? Как она выглядит?
|
Самая обычная смена картинок(прозрачность плавно меняется)
|
Вам нужно при клике или просто через время?
Через анимейт пробовали? Пример:
$('.img').animate({'opacity':'0'},600,function(){
$(this).css('background-image':'url(image2.jpg)');
$(this).animate({'opacity':'1'},600);
});
|
Цитата:
Советую просто погуглить jquery slider или jqyery carousel, наверняка найдется что то подходящее. Например http://jquery.malsup.com/cycle/ там сразу демо с разными эффектами, в том числе и "затухания" |
hfts_rider,
Просто через время. Спасибо, подскажите, пожалуйста,а как сделать смену нескольких картинок и прицепить этот код к диву? krasovsky,Слайдер не подойдет у меня уже готова верстка и меняться должна именно фоновая картинка, а во всех слайдерах картинки картинками, а не фоном. Проблема в том , что я на джава скрипт умею делать только самые просты вещи. Это не заню как реализовать. |
(не забудь подключить jquery)
1) .csa-head = тот самый див с классом "csa-head" 2) imgHead = массив картинок, сюда впиши их расположение. 3) Где значения "200" это скорость появления и затухания. 4) Где значение "8000", это интервал через какой оно будет изменяться (8000 - это 8 секунд)
var imgHead = [
'images/imgCsaHead/img.jpg',
'images/imgCsaHead/img1.jpg',
'images/imgCsaHead/img2.jpg',
'images/imgCsaHead/img3.jpg'
], i=1;
function csaHead(){
if(i > (imgHead.length-1)){
$('.csa-head').animate({'opacity':'0'},200,function(){
i=1;
$('.csa-head').css({'background':'url('+imgHead[0]+')'});
});
$('.csa-head').animate({'opacity':'1'},200);
}else{
$('.csa-head').animate({'opacity':'0'},200,function(){
$('.csa-head').css({'background':'url('+imgHead[i]+')'});
i++;
});
$('.csa-head').animate({'opacity':'1'},200);
}
}
var intervalCsaHead = setInterval(csaHead,8000);
|
hfts_rider,
Огромное-преогромное спасибо!!! Все получилось. Остался один вопрос, их можно остановить после первого круга? Т.е. все картинки прошли и на последней остановилась анимация. |
Нужно просто остановить таймер.
var imgHead = [
'images/imgCsaHead/img.jpg',
'images/imgCsaHead/img1.jpg',
'images/imgCsaHead/img2.jpg',
'images/imgCsaHead/img3.jpg'
], i=1;
function csaHead(){
/* CSA head */
if(i > (imgHead.length-1)){
clearInterval(intervalCsaHead); // Остановка таймера
}else{
$('.csa-head').animate({'opacity':'0'},200,function(){
$('.csa-head').css({'background':'url('+imgHead[i]+')'});
i++;
});
$('.csa-head').animate({'opacity':'1'},200);
}
}
var intervalCsaHead = setInterval(csaHead,8000);
|
hfts_rider,
Спасибо!!!! |
| Часовой пояс GMT +3, время: 06:01. |
|