Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Помогите с анимацией (https://javascript.ru/forum/jquery/25956-pomogite-s-animaciejj.html)

devictor 21.02.2012 12:27

Помогите с анимацией
 
Пишу кодик
хотелось бы чтобы было все плавно и красиво
просто сменить фон без проблем
$(function() {
$(".ur-im > img").click(function() {
$(".ur-im-b").css('backgroundImage', 'url(images/lessons/bib/'+this.alt+')');
});
});

но хотелось бы чтобы он плавно пропал и появился новый.
пробую так:
$(function() {
$(".ur-im > img").click(function() {
var tmp = this.alt;
$(".ur-im-b").animate({opacity:0},1000,function () { 
$(".ur-im-b").css('backgroundImage', 'url(images/lessons/bib/'+tmp+')');
}).animate({opacity:1},1000); //показываем снова
});
});


меняет только без плавного перехода просто ждет секунду, а потом меняет фон.

HTML код:
<div class="ur-im">
<img src="images/lessons/bib/01_s.jpg" alt="01_b.jpg" />
<img src="images/lessons/bib/02_s.jpg" alt="02_b.jpg" />
<img src="images/lessons/bib/03_s.jpg" alt="03_b.jpg" />
<img src="images/lessons/bib/04_s.jpg" alt="04_b.jpg" />
<div class="ur-im-b"></div>
</div>

помогите кто чем может.:cray:

Beriagts 21.02.2012 12:36

var tmp = $(this).attr("alt")
луче засунуть в rel или data-url

devictor 21.02.2012 14:15

Цитата:

Сообщение от Beriagts (Сообщение 158852)
var tmp = $(this).attr("alt")
луче засунуть в rel или data-url

Нет так тоже не пашет, тут видать в принципе что-то другое надо.

dimon888951 21.02.2012 14:31

Цитата:

Сообщение от devictor (Сообщение 158849)
Пишу кодик
хотелось бы чтобы было все плавно и красиво
просто сменить фон без проблем
$(function() {
$(".ur-im > img").click(function() {
$(".ur-im-b").css('backgroundImage', 'url(images/lessons/bib/'+this.alt+')');
});
});

но хотелось бы чтобы он плавно пропал и появился новый.
пробую так:
$(function() {
$(".ur-im > img").click(function() {
var tmp = this.alt;
$(".ur-im-b").animate({opacity:0},1000,function () { 
$(".ur-im-b").css('backgroundImage', 'url(images/lessons/bib/'+tmp+')');
}).animate({opacity:1},1000); //показываем снова
});
});


меняет только без плавного перехода просто ждет секунду, а потом меняет фон.

HTML код:
<div class="ur-im">
<img src="images/lessons/bib/01_s.jpg" alt="01_b.jpg" />
<img src="images/lessons/bib/02_s.jpg" alt="02_b.jpg" />
<img src="images/lessons/bib/03_s.jpg" alt="03_b.jpg" />
<img src="images/lessons/bib/04_s.jpg" alt="04_b.jpg" />
<div class="ur-im-b"></div>
</div>

помогите кто чем может.:cray:

ну здесь логически. как бы не то,Вы берете картинку у которой изначально параметр opacity 1 и опятьже анимируете её до 1.Наверное нужно сначала задать прозрачность,потом изменить.Прописать для нее css например,как вариант.
Или подложить одну картинку под другую,затем у первой увеличивать прозрачность,тоже как вариант.Да способов воплощения, можно много придумать)

devictor 21.02.2012 15:12

Цитата:

Сообщение от nasqad (Сообщение 158870)
$("img").fadeOut("slow", function(){
    $(this).css('backgroundImage', 'url(images/lessons/bib/'+tmp+')').fadeIn("slow");
})
0;

и как это в моем случае поможет хотелось бы полный вариант увидеть.

devictor 21.02.2012 15:13

Цитата:

Сообщение от dimon888951 (Сообщение 158871)
ну здесь логически. как бы не то,Вы берете картинку у которой изначально параметр opacity 1 и опятьже анимируете её до 1.Наверное нужно сначала задать прозрачность,потом изменить.Прописать для нее css например,как вариант.
Или подложить одну картинку под другую,затем у первой увеличивать прозрачность,тоже как вариант.Да способов воплощения, можно много придумать)

Так весь вопрос тут и в том как это сделать сначала потушить потом попенять поле показать.


Часовой пояс GMT +3, время: 23:13.