![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
04.11.2015, 05:07
|
Интересующийся
|
|
Регистрация: 29.10.2015
Сообщений: 12
|
|
![Laugh](https://javascript.ru/forum/images/smilies/laugh.gif) Блин, а я уже сайт переделал.
Ладно, тогда такую проблемку вижу:
Шапка зафиксирована, но меняет прозрачность, и при этом она ни куда не девается, то есть в сквоь нее ссылки же не нажать?
Как можно решить?
Предлагаю вариант такой:
Если opacity = 0, то z-index = 0 ![Пишу](https://javascript.ru/forum/images/smilies/write.gif) пропиши пожалуйста ![Thanks](https://javascript.ru/forum/images/smilies/thank_you2.gif)
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
04.11.2015, 05:38
|
![Аватар для ruslan_mart](https://javascript.ru/forum/image.php?u=20699&dateline=1502382178) |
Профессор
|
|
Регистрация: 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;
}
});
});
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
04.11.2015, 10:05
|
Интересующийся
|
|
Регистрация: 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;
}
});
})();
Я верно прописал?
Потому что не срабатывает.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
04.11.2015, 12:18
|
![Аватар для ruslan_mart](https://javascript.ru/forum/image.php?u=20699&dateline=1502382178) |
Профессор
|
|
Регистрация: 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;
}
});
});
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
04.11.2015, 16:45
|
Интересующийся
|
|
Регистрация: 29.10.2015
Сообщений: 12
|
|
А нет, взял второй вариант кода (под страницу который), к сожалению он не видит сылки под шапкой, когда шапка исчезла ![Unsure](https://javascript.ru/forum/images/smilies/unsure.gif)
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
05.11.2015, 08:00
|
![Аватар для ruslan_mart](https://javascript.ru/forum/image.php?u=20699&dateline=1502382178) |
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
05.11.2015, 10:50
|
Интересующийся
|
|
Регистрация: 29.10.2015
Сообщений: 12
|
|
Хм странно у меня этот же скрипт стоит, а все равно ссылки не нажимаются.
У меня кстати еще пара вопросов:
- Я заметил, что чем длиннее страница, тем медленнее исчезает шапочка. То есть за основу он берет длину всей страницы, а возможно взять за основу определенное расстояние скажем в пикселях, что бы шапка всегда исчезала одинаково?
- В конце концов, чем обязан тебе за помощь? ![Thanks](https://javascript.ru/forum/images/smilies/thank_you2.gif) Я не особо богат, но и не нищий))
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
05.11.2015, 10:53
|
![Аватар для ruslan_mart](https://javascript.ru/forum/image.php?u=20699&dateline=1502382178) |
Профессор
|
|
Регистрация: 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
|
- В конце концов, чем обязан тебе за помощь? Я не особо богат, но и не нищий))
|
Да не нужно ничего, спасибо. ![](https://javascript.ru/forum/images/smilies/smile.gif)
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
05.11.2015, 11:28
|
Интересующийся
|
|
Регистрация: 29.10.2015
Сообщений: 12
|
|
Посмотри:
Я увидел почему ссылки не нажимаются.
Сначала глянул твой пример через Ctrl+Shift+i и заметил, что у тебя opacity снижается до 0, после чего добавляется стиль dysplay: none.
Потом посмотрел тоже самое на своем сайте и вот что увидел:
![](http://cs628829.vk.me/v628829498/17f21/zW1cH7qOWOM.jpg)
opacity уходит в минус, при том чем ниже, тем больше минус. А раз нет нуля, то и display:none не появляется ![Laugh](https://javascript.ru/forum/images/smilies/laugh.gif) .
Почему так происходит интересно?
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
05.11.2015, 11:40
|
![Аватар для ruslan_mart](https://javascript.ru/forum/image.php?u=20699&dateline=1502382178) |
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
russia091, ссылку на сайт можно?
|
|
|
|