[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Можно ли сделать неправильный якорь?
Владимир55
Сайт содержит меню, в котором название открытой страницы делается неактивным и меняет цвет.

Мобильная версия формируется с помощью медиа-файла, и в этом случае меню занимает весь экран телефона. И посетители сетуют, что они не понимают работы мобильной версии сайта. То есть, они в мобильной версии кликают в меню на какую-то страницу и видят всё то же самое, только ссылка, на которую они кликнули, стала другого цвета. А полистать вниз они, почему-то, не догадываются!

Как выход из этой ситуации нужно бы сделать как-то так, чтобы (в мобильной версии) при клике на ссылку меню был переход не на верх открытой страницы, а сразу на тег Н1.

Переделать для этого все страницы, вписав якорь в каждую из них, нереально.

Нельзя ли сделать какой-то скрипт, который (в мобильной версии) будет открывать вызванную страницу с тега Н1?
sergeiss
Скрипт-то сделать можно. После загрузки страницы смотри, что ширина браузера меньше какой-то и пролистывай.

А не проще ли сделать так, чтобы в мобильной версии это меню было изначально свёрнуто в значок?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Владимир55
Цитата (sergeiss @ 15.04.2017 - 08:49)
После загрузки страницы смотри, что ширина браузера меньше какой-то и пролистывай.

Медиа-файл это и делает: для узкого экрана выбрасывает рекламу и увеличивает расстояние между строками меню. А пролистывать люди не хотят (некоторые), не понимают.

Цитата (sergeiss @ 15.04.2017 - 08:49)
Скрипт-то сделать можно. 


Вот какой скрипт откроет страницу сразу с Н1?
sergeiss
Цитата (Владимир55 @ 15.04.2017 - 13:48)
Вот какой скрипт откроет страницу сразу с Н1?

Тот, который ты сделаешь smile.gif
Цитата (sergeiss @ 15.04.2017 - 12:49)
и пролистывай

Я написал: пролистывай. Скриптом. Делай scroll.


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Владимир55
Я ничего не понял, но всё равно спасибо, что откликнулись.
sergeiss
Цитата (Владимир55 @ 15.04.2017 - 15:12)
Я ничего не понял...

Смотри. Ставишь jQuery. После загрузки сайта и загрузки jQuery (в нем это очень легко определить) ты сначала определяешь ширину браузера, средствами JS/jQuery. Если она меньше некоторой величины (которая используется как пороговая для мобильной верстки), то находишь первый элемент H1 и делаешь scroll до него.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Владимир55
Я изначально сделал так:

<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
Цитата (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 еще не сформирован и никакие элементы на странице не доступны.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.