Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
1

Липкий плавающий header как в Google Play

04.11.2014, 18:40. Показов 5025. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вообщем такая тема: создаю дизайн сайта на подобии как в приложении Google Play и столкнулся с одной проблемой!! В приложении очень хитро сделали header который разделен на 2 части (главный блок с кновкой меню и поиском, блок меню) и при скроле вниз верхний главный блок скрывается а нижний фиксируется!! Но стоит чуть чуть пролиснуть вверх (не доходя до начала страницы) снова вылазил главный блок..

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

Вот мои наработки! У меня получилось осуществить скрытие и залипание но не так как хотелось!! На мобильных устройствах и вовсе ерунда

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE html><html lang="ru"><head><meta charset="windows-1251"/><title>EXinfo - News</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
<link rel="stylesheet" type="text/css" href="styles/media-queries.css"/>
<link rel="shortcut icon" href="img/favicon.png">
<script src="js/jquery-2.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function(){
        var HeaderTop = $('#headbar').offset().top;
        var HeaderTop = $('#center-headbar').offset().top;
        
        $(window).scroll(function(){
                if( $(window).scrollTop() > HeaderTop ) {
                        $('#headbar').css({position: 'static', top: '0px'});
                        $('#center-headbar').css({top: '0px'});
                } else {
                        $('#headbar').css({position: 'fixed', top: '0px'});
                        $('#center-headbar').css({top: '50px'});
                }
        });
    });
</script>
</head><body>
 
<div id="headbar">
 
<div id="wrap-headbar">
<div id="left-headbar">
 
</div>
<div id="center-headbar">
<ul>
<li><a href="">ГЛАВНАЯ</a></li>
<li><a id="active" href="">НОВОСТИ</a></li>
<li><a href="">ИСТОРИЯ</a></li>
<li><a href="">СТАТЬИ</a></li>
</div>
<div id="right-headbar">
 
</div>
</div>
 
</div>
 
</body></html>

CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#headbar{
background:#4c82ff;
width:100%;
min-height:50px;
}
#wrap-headbar{
}
#left-headbar{
width:100px;
height:50px;
border:1px solid #000;
}
#center-headbar{
background:#4c82ff;
text-align:center;
width:100%;
padding:0px;
position:fixed;
}
#center-headbar ul{
margin:0px;
padding:0px;
list-style-type:none;
}
#center-headbar li{
margin:0px;
padding:0px;
list-style-type:none;
display:inline-block;
}
#center-headbar a{
font-family:Helvetica-Medium;
color:#b2c9ff;
padding:10px;
display:block;
}
#center-headbar a:hover{
color:#fff;
text-decoration:none;
}
#center-headbar #active{
color:#fff;
border-bottom:2px solid #fff;
}
#right-headbar{
width:100px;
height:50px;
border:1px solid #000;
position:absolute;
top:0;
right:0;
float:right;
}
Липкий плавающий header как в Google Play
Липкий плавающий header как в Google Play
Липкий плавающий header как в Google Play
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2014, 18:40
Ответы с готовыми решениями:

Как обновить приложение в play.google.com?
Вопрос касается https://play.google.com Пробую обновить приложение, которое я загрузил вчера. ...

Разметка, как в Google Play Пресса
Здравствуйте. Помогите реализовать разметку, как на скриншоте 1. Не получается наложить TabLayout,...

Как раскрутить игру в Google Play
Какие есть сервисы для раскрутки игр? Google Play --&gt;...

Как удалить свое приложение из Google play?
Я имею в виду приложение, которое я сам же и опублковал. Можно ли его навсегда удалить из магазина...

10
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
04.11.2014, 18:59 2
JackPaller, если вы скопировали HTML-код "как есть", то обратите внимание на то, что у вас ошибка в разметке - нет закрывающего тега </ul>
Это может и не решит ваш вопрос, но всё же...
1
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
04.11.2014, 19:02  [ТС] 3
он особой роли не играет! 1-2 незакрытых тега в html допускаются. все же не понятно как сделать нормальный скрипт.. аналогов нет
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
04.11.2014, 19:22 4
Цитата Сообщение от JackPaller Посмотреть сообщение
1-2 незакрытых тега в html допускаются
Ошибочное мнение.
Цитата Сообщение от JackPaller Посмотреть сообщение
все же не понятно как сделать нормальный скрипт
Я пока не могу понять в чем вы видите некорректную работу. Вот я сделал fiddle, покрутил его, менял размер окна, но так и не понял в чём ошибка.
0
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
04.11.2014, 19:41  [ТС] 5
Нужно что-бы он верхняя часть этого бара возвращалась не в начале страницы, а в любой другой части прокрутив немного вверх.
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
04.11.2014, 19:52 6
JackPaller, Если я правильно понял, то смотрите такой вариант
Дописываем в стили класс:
CSS
1
2
3
4
.fixedbar {
    position:fixed;
    top: 0px;
}
И переключаем его в нужных местах при прокрутке
Javascript
1
2
3
4
5
6
7
8
9
10
$(document).ready(function(){
    var HeaderTop = $('#center-headbar').offset().top;
    $(window).scroll(function(){
        if( $(window).scrollTop() > HeaderTop ) {
            $('#center-headbar').addClass('fixedbar');
        } else {
            $('#center-headbar').removeClass('fixedbar');
        }
    });
});
0
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
04.11.2014, 20:03  [ТС] 7
Почти так, но нужно что-бы header (как в моем случае) вылазил в любом месте на странице лишь прокрутив немного вверх! А прокрутив немного вниз он иcчезал и оставался лишь center-header
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
04.11.2014, 20:15 8
Цитата Сообщение от JackPaller Посмотреть сообщение
вылазил в любом месте на странице лишь прокрутив немного вверх
На такие вещи нужно сразу ставить акцент, потому что у Google Play, по крайней мере в десктоп-версии, такой фишки нет.
А для такой цели, вам нужно следить за направлением прокрутки колеса, так называемая "delta". Знаете как это организовать?
0
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
04.11.2014, 20:19  [ТС] 9
Я изучаю 3 языка одновременно и только на практике! Это моя большая проблема, поэтому вполне очевидно что я такого не знаю. С другой стороны зная бы это я бы не стал задавать столь прозрачные вопросы
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
04.11.2014, 20:23 10
Лучший ответ Сообщение было отмечено JackPaller как решение

Решение

JackPaller, Информации на эту тему в инете более чем достаточно, поэтому не очень хочется заниматься пересказыванием. Вот, например, можете почитать эту статью
1
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
04.11.2014, 20:58  [ТС] 11
Я все-равно не понимаю как реализовать все это дело и соединить в одно целое! Видимо ждать помощи неоткого
0
04.11.2014, 20:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2014, 20:58
Помогаю со студенческими работами здесь

Проверяет ли Google возраст владельца аккаунта Google Play Console и AdMob?
Дело в том, что владельцу аккаунта должно быть минимум 18, а мне пока 16. Регать на кого-то из...

Регистрацией в Google AdSense (для последующей регистрации в Google Play)
Помогите с регистрацией в Google AdSense: завел свой блог на blogger.com (blogspot). И...

Google Play Services Sign In / com.google.android.gms.common.api.ApiException: 10
Пробую запустить простейший семпл для авторизации в Google Play Services, но всё время получаю одну...

Статистика Google Play Service и баг Google Analytics
В процессе написания простейшего приложения с использованием Google Analytics v4 нашел забавный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru