Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Паралакс, что-то глючит (https://javascript.ru/forum/jquery/52674-paralaks-chto-glyuchit.html)

xTODx 30.12.2014 13:35

Паралакс, что-то глючит
 
Всем привет, сделал вот такой простой скрипт для паралакса, но такая проблема, если назад поднимаю скролл вверх, то выходит криво.
$(document).ready(function(){
	$(window).scroll(function(){
               var scrolling = window.pageYOffset || docElem.scrollTop || body.scrollTop ;
               if(scrolling>=$('.paralax').position().top){
	            $('.paralax').css({'background-position': '0px '+((scrolling-101)*0.7)+'px'});
               }else{
	             $('.paralax').css({'background-position': '0px 0px'});
               }
        });
});


Как исправиьт эту штуку?

рони 30.12.2014 14:32

xTODx,
сделали бы полноценный макет

xTODx 30.12.2014 15:11

html скинуть?
я нашёл ошибку, но не понимаю чего, в вверхней точке scrolling не обнуляется(((
функция скролл не выполняется если верхяя точка(

рони 30.12.2014 15:14

Цитата:

Сообщение от xTODx
scrolling

а почему не jquery?

рони 30.12.2014 15:23

Цитата:

Сообщение от xTODx
docElem.

Цитата:

Сообщение от xTODx
body.

это что?
почему не
var scrolling = $(window).scrollTop();

xTODx 30.12.2014 15:33

оп, и всё работает)
не бумал что это так сильно решает!)
Благодарю!

рони 30.12.2014 15:40

xTODx,
то есть то что переменные никак не были определены это мелочи :cray:

xTODx 30.12.2014 15:44

та они определены, просто не весь код скинул!)
но простите за глупости, я в js недавно)

xTODx 30.12.2014 15:50

Можете ещё помочь? в классе есть несколько элементов .paralax
как перебрать каждый, и для каждого прооверить условие?
Вот код той функции, паралакса.
сделано для того, чтобы пока не долистаю до нужного элемента, паралакс не работал.
но, оно определяет по первому $('.paralax').
я понимаю что их нужно перебрать, each?
function paralax(scrol){
	if(scrol>$('.paralax').position().top){
				$('.paralax').css({'background-position': '0px '+(scrol*0.7-$('.paralax').position().top)+'px'});
	}else{
				$('.paralax').css({'background-position': '0px 0px'});
	}
}

рони 30.12.2014 16:32

Цитата:

Сообщение от xTODx
each?

да


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