Владимир55
15.04.2017 - 12:34
Сайт содержит меню, в котором название открытой страницы делается неактивным и меняет цвет.
Мобильная версия формируется с помощью медиа-файла, и в этом случае меню занимает весь экран телефона. И посетители сетуют, что они не понимают работы мобильной версии сайта. То есть, они в мобильной версии кликают в меню на какую-то страницу и видят всё то же самое, только ссылка, на которую они кликнули, стала другого цвета. А полистать вниз они, почему-то, не догадываются!
Как выход из этой ситуации нужно бы сделать как-то так, чтобы (в мобильной версии) при клике на ссылку меню был переход не на верх открытой страницы, а сразу на тег Н1.
Переделать для этого все страницы, вписав якорь в каждую из них, нереально.
Нельзя ли сделать какой-то скрипт, который (в мобильной версии) будет открывать вызванную страницу с тега Н1?
sergeiss
15.04.2017 - 12:49
Скрипт-то сделать можно. После загрузки страницы смотри, что ширина браузера меньше какой-то и пролистывай.
А не проще ли сделать так, чтобы в мобильной версии это меню было изначально свёрнуто в значок?
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Владимир55
15.04.2017 - 13:48
Цитата (sergeiss @ 15.04.2017 - 08:49) |
После загрузки страницы смотри, что ширина браузера меньше какой-то и пролистывай. |
Медиа-файл это и делает: для узкого экрана выбрасывает рекламу и увеличивает расстояние между строками меню. А пролистывать люди не хотят (некоторые), не понимают.
Цитата (sergeiss @ 15.04.2017 - 08:49) |
Скрипт-то сделать можно. |
Вот какой скрипт откроет страницу сразу с Н1?
sergeiss
15.04.2017 - 14:57
Цитата (Владимир55 @ 15.04.2017 - 13:48) |
Вот какой скрипт откроет страницу сразу с Н1? |
Тот, который ты сделаешь

Цитата (sergeiss @ 15.04.2017 - 12:49) |
и пролистывай |
Я написал: пролистывай. Скриптом. Делай scroll.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Владимир55
15.04.2017 - 15:12
Я ничего не понял, но всё равно спасибо, что откликнулись.
sergeiss
15.04.2017 - 16:33
Цитата (Владимир55 @ 15.04.2017 - 15:12) |
Я ничего не понял... |
Смотри. Ставишь jQuery. После загрузки сайта и загрузки jQuery (в нем это очень легко определить) ты сначала определяешь ширину браузера, средствами JS/jQuery. Если она меньше некоторой величины (которая используется как пороговая для мобильной верстки), то находишь первый элемент H1 и делаешь scroll до него.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Владимир55
15.04.2017 - 17:18
Я изначально сделал так:
<script src="/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
var h = document.getElementsByTagName('h1')[0];
h.scrollIntoView(true);
</script>
Это работает.
Ширина экрана:
scr_w=screen.width;
Как сделать, чтобы если ширина больше 300рх, то тогда выполняется этот скрипт скроллинга?
Владимир55
17.04.2017 - 17:34
Цитата (sergeiss @ 15.04.2017 - 12:33) |
сначала определяешь ширину браузера, средствами JS/jQuery. Если она меньше некоторой величины..., то находишь первый элемент H1 и делаешь scroll до него. |
<script src="/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
var scr_w=screen.width;
if (scr_w < 650) {
var h = document.getElementsByTagName('h1')[0];
h.scrollIntoView(true);
}
</script>
У меня такое ощущение, что этот принцип неверен: на момент выполнения скрипта DOM еще не сформирован и никакие элементы на странице не доступны.