Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Анимация при скроле Js (https://javascript.ru/forum/misc/47179-animaciya-pri-skrole-js.html)

Dalave1998 12.05.2014 20:33

Анимация при скроле Js
 
Пмогите сделать код, а точнее дописать. Есть код, который "проявляет" div при прокрутке страницы на n пикеселей. нужно сделать выезжает слева + проявление в этом коде уже есть + задержка на секунду. Также нужно чтоб оно работало только один раз (промотал, оно появилось и больше не пропадает снова.)

вот код:

jQuery(function(f){
var element = f('.comp');
f(window).scroll(function(){
element['fade'+ (f(this).scrollTop() > 700 ? 'In': 'Out')](1000);
});
});


а вот он в песочнице месте с куском моего сайта
http://jsfiddle.net/8ry4K/

рони 12.05.2014 21:37

Dalave1998,
:-?
jQuery(function(f){
		var element = f('.chart');
		f(window).scroll(function(){
		  f(this).scrollTop() > 700	 && element.delay(1000).animate({left: '400px'},1000);
		});
	});

Dalave1998 12.05.2014 22:40

Немного не то
 
Я имел ввиду, что объект проявляется(с 100% прозрачности до 0), выходя изза предлов сайта (к примеру от -400пикс до 0) и это только при первой прокрутке. Я надеюсь более понятно объяснил?

рони 12.05.2014 22:53

Dalave1998,
так поставьте вместо 400px -> 0px и добаьте opacity: 1 в animate

Dalave1998 12.05.2014 22:57

А можете написать
 
А можете написать в одом коде?) а то я дуб в скрипте и его грамматике. цсс да, а скрипт пока учусь)

рони 12.05.2014 23:24

Dalave1998,
jQuery(function(f){
		var element = f('.chart');
		f(window).scroll(function(){
		  f(this).scrollTop() > 700	 && element.delay(1000).animate({left: '0px', opacity: 1},1000);
		});
	});


http://api.jquery.com/animate/
http://jquery-docs.ru/Effects/animat...easingcallback

Dalave1998 17.05.2014 02:47

Нужно чтобы этот скрипт срабатывал тольок при первой прокрутке, а потом оставалась конечные параметры!
Вот скрипт

jQuery(function(f){
var element = f('.comp');
f(window).scroll(function(){
element['fade'+ (f(this).scrollTop() > 700 ? 'In': 'Out')](800);
});
});

рони 17.05.2014 02:55

Dalave1998,
так код в 6 посте 1 раз и сработает

Dalave1998 17.05.2014 03:07

у меня не пашет на другом блоке. Быть может из-за float:left?

рони 17.05.2014 03:13

Dalave1998,
:-?


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