Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.11.2015, 05:07
Интересующийся
Отправить личное сообщение для russia091 Посмотреть профиль Найти все сообщения от russia091
 
Регистрация: 29.10.2015
Сообщений: 12

Блин, а я уже сайт переделал.

Ладно, тогда такую проблемку вижу:
Шапка зафиксирована, но меняет прозрачность, и при этом она ни куда не девается, то есть в сквоь нее ссылки же не нажать?

Как можно решить?

Предлагаю вариант такой:

Если opacity = 0, то z-index = 0 пропиши пожалуйста
Ответить с цитированием
  #12 (permalink)  
Старый 04.11.2015, 05:38
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

window.addEventListener('DOMContentLoaded', function() {
	var elem = document.querySelector('.name'),
		content = document.querySelector('.content'),
		isVisible = true;

	content.addEventListener('scroll', function() {
		var value = 1 - 1 / (this.scrollHeight - this.clientHeight) * this.scrollTop;
		elem.style.opacity = value;
		if(isVisible != !!value) {
			elem.style.display = isVisible ? 'none' : '';
			isVisible = !isVisible;
		}
	});
});
Ответить с цитированием
  #13 (permalink)  
Старый 04.11.2015, 10:05
Интересующийся
Отправить личное сообщение для russia091 Посмотреть профиль Найти все сообщения от russia091
 
Регистрация: 29.10.2015
Сообщений: 12

(function() {
 var elem = document.querySelector('.opacTop'),
 body = document.body,
 html = document.documentElement;
 isVisible = true;
 
 window.addEventListener('scroll', function() {
 var scrollHeight = (html.scrollHeight || body.scrollHeight) - this.innerHeight,
 scrollTop = html.scrollTop || body.scrollTop || 0;
 elem.style.opacity = 1 - 7 / scrollHeight * scrollTop;
 elem.style.opacity = value;
 if(isVisible != !!value) {
 elem.style.display = isVisible ? 'none' : '';
 isVisible = !isVisible;
 }
 });
})();




Я верно прописал?

Потому что не срабатывает.
Ответить с цитированием
  #14 (permalink)  
Старый 04.11.2015, 12:18
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

russia091, так Вам прокрутка блока или всей страницы нужна?

Если прокрутка блока, то выше рабочий вариант. А если страницы, то:

window.addEventListener('DOMContentLoaded', function() {
	var elem = document.querySelector('.opacTop'),
		body = document.body,
		html = document.documentElement;
		isVisible = true;
 
	window.addEventListener('scroll', function() {
		var scrollHeight = (html.scrollHeight || body.scrollHeight) - this.innerHeight,
			scrollTop = html.scrollTop || body.scrollTop || 0,
			value = 1 - 1 / scrollHeight * scrollTop;
		elem.style.opacity = value;
		if(isVisible != !!value) {
			elem.style.display = isVisible ? 'none' : '';
			isVisible = !isVisible;
		}
	});
});
Ответить с цитированием
  #15 (permalink)  
Старый 04.11.2015, 16:45
Интересующийся
Отправить личное сообщение для russia091 Посмотреть профиль Найти все сообщения от russia091
 
Регистрация: 29.10.2015
Сообщений: 12

А нет, взял второй вариант кода (под страницу который), к сожалению он не видит сылки под шапкой, когда шапка исчезла
Ответить с цитированием
  #16 (permalink)  
Старый 05.11.2015, 08:00
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Всё работает.

http://jsfiddle.net/otv9ps22/
Ответить с цитированием
  #17 (permalink)  
Старый 05.11.2015, 10:50
Интересующийся
Отправить личное сообщение для russia091 Посмотреть профиль Найти все сообщения от russia091
 
Регистрация: 29.10.2015
Сообщений: 12

Хм странно у меня этот же скрипт стоит, а все равно ссылки не нажимаются.

У меня кстати еще пара вопросов:

- Я заметил, что чем длиннее страница, тем медленнее исчезает шапочка. То есть за основу он берет длину всей страницы, а возможно взять за основу определенное расстояние скажем в пикселях, что бы шапка всегда исчезала одинаково?

- В конце концов, чем обязан тебе за помощь? Я не особо богат, но и не нищий))
Ответить с цитированием
  #18 (permalink)  
Старый 05.11.2015, 10:53
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

window.addEventListener('DOMContentLoaded', function() {
	var elem = document.querySelector('.opacTop'),
		body = document.body,
		html = document.documentElement;
		isVisible = true;
 
	window.addEventListener('scroll', function() {
		var maxHeight = 200, //Вот оно
			scrollHeight = (html.scrollHeight || body.scrollHeight) - this.innerHeight,
			scrollTop = html.scrollTop || body.scrollTop || 0,
			value = 1 - 1 / Math.min(scrollHeight, maxHeight) * scrollTop;
		elem.style.opacity = value;
		if(isVisible != !!value) {
			elem.style.display = isVisible ? 'none' : '';
			isVisible = !isVisible;
		}
	});
});


Сообщение от russia091
- В конце концов, чем обязан тебе за помощь? Я не особо богат, но и не нищий))
Да не нужно ничего, спасибо.
Ответить с цитированием
  #19 (permalink)  
Старый 05.11.2015, 11:28
Интересующийся
Отправить личное сообщение для russia091 Посмотреть профиль Найти все сообщения от russia091
 
Регистрация: 29.10.2015
Сообщений: 12

Посмотри:

Я увидел почему ссылки не нажимаются.

Сначала глянул твой пример через Ctrl+Shift+i и заметил, что у тебя opacity снижается до 0, после чего добавляется стиль dysplay: none.

Потом посмотрел тоже самое на своем сайте и вот что увидел:

opacity уходит в минус, при том чем ниже, тем больше минус. А раз нет нуля, то и display:none не появляется .

Почему так происходит интересно?
Ответить с цитированием
  #20 (permalink)  
Старый 05.11.2015, 11:40
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

russia091, ссылку на сайт можно?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
fadeOut при прокрутке к концу страницы piraids Элементы интерфейса 2 20.06.2014 13:17
Загрузка "хвоста" страницы при прокрутке из внешних файлов. Begoian Events/DOM/Window 10 23.01.2014 19:53
Прижимание блока при прокрутке страницы byFahrenheit Общие вопросы Javascript 2 14.01.2013 14:03
Фиксация объекта при скрулинге страницы Pashok(one) Общие вопросы Javascript 10 08.01.2013 02:52
Как при прокрутке страницы оставлять элемент на месте? FRIE jQuery 1 02.08.2012 20:54