русский
Germany.ruForen → Архив Досок→ Webdesign und Hosting

Алтернатива для ":hover", Touchscreen, без ява-скрипт​​​

479  1 2 alle
Vovan(ator) коренной житель26.02.16 07:11
Vovan(ator)
26.02.16 07:11 

Привет всем,

кто подскажет хорошую альтернативу для эффекта ":hover" на Touchscreen без ява-скрипт?

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

1) В мобильной версии видны только верхние пункты.

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

3) но это должно происходить без перезарядки страницы.

Для "обычного" компа, без тачскрина, всё прекрасно работает при помощи :hover.

Для тача, нужно кликнуть на кнопку и чтоб она осталась открыта.

#1 
Sergo2008 старожил26.02.16 09:16
Sergo2008
NEW 26.02.16 09:16 
in Antwort Vovan(ator) 26.02.16 07:11, Zuletzt geändert 26.02.16 09:16 (Sergo2008)

Не интересовался конкретно данным вопросом, но на сколько знаю, вроде без ява и нет решения, не видал, по крайней мере с год назад не нашёл не чего.

#2 
Murr патриот26.02.16 09:47
Murr
NEW 26.02.16 09:47 
in Antwort Vovan(ator) 26.02.16 07:11

чтоб сайт работал примерно одинаково с и без ява-скрипт

-----

Гы... А как ты вообще представляешь изменение кучи параметров и произвольного набора контролов без скрипта?

#3 
project33 коренной житель26.02.16 11:47
project33
NEW 26.02.16 11:47 
in Antwort Vovan(ator) 26.02.16 07:11, Zuletzt geändert 26.02.16 11:53 (project33)

:hover и так работает без яваскрипта, это псевдокласс css

смотри тут http://ruseller.com/lessons.php?id=523&rub=29

Продвижение сайтов, реклама: https://www.pro33.net
#4 
Murr патриот26.02.16 16:18
Murr
26.02.16 16:18 
in Antwort project33 26.02.16 11:47

смотри тут

-----

У него изначальные требования - без перезагрузки страницы и скрипта.

#5 
CoDSP завсегдатай26.02.16 17:07
CoDSP
NEW 26.02.16 17:07 
in Antwort Vovan(ator) 26.02.16 07:11, Zuletzt geändert 26.02.16 17:08 (CoDSP)
на Touchscreen без ява-скрипт

Для мобильных девайсов очень странное условие, по моему скромному мнению.

#6 
project33 коренной житель26.02.16 17:12
project33
NEW 26.02.16 17:12 
in Antwort Murr 26.02.16 16:18, Zuletzt geändert 26.02.16 17:15 (project33)
У него изначальные требования - без перезагрузки страницы и скрипта.
Конечная цель нашего урока - создание меню, которое быстро загружается и не требует JavaScript для эффектов при наведении мышки.
Продвижение сайтов, реклама: https://www.pro33.net
#7 
Vovan(ator) коренной житель26.02.16 17:18
Vovan(ator)
NEW 26.02.16 17:18 
in Antwort Murr 26.02.16 09:47

Всё гениальное как обычно простЕЕ чем ты это представляешь улыб

Я обычно делаю первоначальную версию сайта так, чтоб он работал абсолютно без JS.

А потом, как всё работает, то можно и скрипт подключить.

Со скриптом естественно привлекательнее,
но изначально должна быть возможность пользоваться сайтом, даже если скрипт деактивирован.
До сих пор получалось смущ


#8 
NightWatch коренной житель26.02.16 17:22
NightWatch
NEW 26.02.16 17:22 
in Antwort project33 26.02.16 17:12

А как без перезагрузки по клику на менюшке откроется подменю?

#9 
Vovan(ator) коренной житель26.02.16 17:23
Vovan(ator)
NEW 26.02.16 17:23 
in Antwort Sergo2008 26.02.16 09:16, Zuletzt geändert 26.02.16 17:31 (Vovan(ator))
но на сколько знаю, вроде без ява и нет решения

Ну вот и я тоже не нашёл ничего подходящего и работающего.
Есть предложения через :target, но чёт тоже не совсем то что нужно.

Придётся наверное делать с перезагрузкой и присвоением определённого класса.

А на случай если скрипт активирован, сделаю тогда попроще.

#10 
Vovan(ator) коренной житель26.02.16 17:30
Vovan(ator)
NEW 26.02.16 17:30 
in Antwort NightWatch 26.02.16 17:22
А как без перезагрузки по клику на менюшке откроется подменю?

В навигации, в норманом состоянии отключаешь видимость нижних подпунктов (через CSS).
А при помощи :hover ставишь снова блок на видимость. А всё открывается без перезагрузки.

Проблема только в том, что тачскрины не поддерживают :hover.
Там можно только кликать или не кликать.

#11 
NightWatch коренной житель26.02.16 17:32
NightWatch
NEW 26.02.16 17:32 
in Antwort Vovan(ator) 26.02.16 17:30
Проблема только в том, что тачскрины не поддерживают :hover.
Там можно только кликать или не кликать.

Поэтому и вопрос.

#12 
project33 коренной житель26.02.16 18:13
project33
NEW 26.02.16 18:13 
in Antwort Vovan(ator) 26.02.16 17:30, Zuletzt geändert 26.02.16 18:37 (project33)
Проблема только в том, что тачскрины не поддерживают :hover.
Там можно только кликать или не кликать.

http://web.izjum.com/css-open-on-click посмотри тут тогда, тоже css вариант, но через :active

Продвижение сайтов, реклама: https://www.pro33.net
#13 
Murr патриот26.02.16 19:50
Murr
NEW 26.02.16 19:50 
in Antwort Vovan(ator) 26.02.16 17:18

До сих пор получалось

-----

У меня без скрипта даже форма на сервер не отправляется. смущ

При этом об значительной части выполняемых скриптов Я ничего не знаю... безум

#14 
Vovan(ator) коренной житель27.02.16 06:52
Vovan(ator)
NEW 27.02.16 06:52 
in Antwort project33 26.02.16 18:13

:active немножко неудачный вариант.
он срабатывает только когда кнопка нажата.
А как её отпускаешь, всё пропадает.

Ну тогда буду делать с перезарядкой.
тогда можно другие свойства использовать.

Я всё же надеялся, что уже что-то новое разработали и я о нём ещё не узнал спок

#15 
Vovan(ator) коренной житель27.02.16 07:00
Vovan(ator)
NEW 27.02.16 07:00 
in Antwort Murr 26.02.16 19:50
У меня без скрипта даже форма на сервер не отправляется.

А вот это прекрасно хаха просто замечательно улыб

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

В итоге получается немного больше работы,
но вероятность того что сайт не работает, значительно снижается.

#16 
Murr патриот27.02.16 10:28
Murr
NEW 27.02.16 10:28 
in Antwort Vovan(ator) 27.02.16 07:00

Именно по этому лучше делать чтоб всё изначально без скриптов работало.

-----

Ну не может мое работать без скриптов. Просто не может. И нет никакой возможности настроить его так чтобы оно работало без скриптов.

Потому как на сервер уходят сообщеня вида - в текстовом контроле 'myText' юзер нажал кнопку 'a'... или комбинацию 'ALT+b'...



представь себе, что у многих скрипты деактивированы

------

Да и бог с ними - шеф глянет на конфигураию и включит все обратно, при регулярном повторе - заменят мудрейшего мудака на кого-то вменяемого... хаха



вероятность того что сайт не работает, значительно снижается.

------

Хи-хи... У тебя всего лишь остается некий сурогат необходимого функционала, при этом нужно внимательно следить за тем, чтобы та часть бизбес-логики, которая доступна при отключенных скриптах, могла хоть как-то функционировать, а не создавать дополнительные проблемы...

#17 
Poiser свой человек27.02.16 10:46
Poiser
NEW 27.02.16 10:46 
in Antwort Murr 27.02.16 10:28, Zuletzt geändert 27.02.16 10:48 (Poiser)

Блять, да вы про разные скрипты говорите.

А по теме - сегодня никто не делает сайты без JS. Vovan(ator), ещё лет 10 назад, твоя аргументация прокатила бы, но не сегодня. Или ты много знаешь людей отключающих JS на своём устройстве с Touchscreen??

Создание сайтов, онлайн-магазинов в Германии
#18 
Murr патриот27.02.16 10:54
Murr
NEW 27.02.16 10:54 
in Antwort Poiser 27.02.16 10:46

вы про разные скрипты говорите.

-----

Вообще-то - про клиентские. Какие именно - JS или VB - не критично.

Критично то, что есть много вещей, которые невозможно реализовать

без клиентского скрипта...

#19 
project33 коренной житель27.02.16 11:46
project33
NEW 27.02.16 11:46 
in Antwort Vovan(ator) 27.02.16 06:52
:active немножко неудачный вариант.
он срабатывает только когда кнопка нажата.
А как её отпускаешь, всё пропадает.

там есть пример, все работает, ничего не пропадает. ты глянь вначале улыб

Продвижение сайтов, реклама: https://www.pro33.net
#20 
Vovan(ator) коренной житель27.02.16 19:49
Vovan(ator)
NEW 27.02.16 19:49 
in Antwort Poiser 27.02.16 10:46
Или ты много знаешь людей отключающих JS на своём устройстве с Touchscreen??

не много, но знаю параноиков, которые отключают всё что даже только теоретически могло бы навредить смущ
К стати тоже из админов на некоторых фирмах улыб

Ну да и фиг с ними.

#21 
Vovan(ator) коренной житель27.02.16 19:57
Vovan(ator)
NEW 27.02.16 19:57 
in Antwort project33 27.02.16 11:46
ты глянь вначале

Как я и предполагал улыб всё гениальное просто,
Нужно только раскрыть глаза

Спасибо up
Именно то, что надо
И без JS

#22 
Sergo2008 старожил28.02.16 08:30
Sergo2008
NEW 28.02.16 08:30 
in Antwort Vovan(ator) 27.02.16 19:57, Zuletzt geändert 28.02.16 08:33 (Sergo2008)
Или ты много знаешь людей отключающих JS на своём устройстве с Touchscreen??

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

Я не параноик, но на многих сайтах этих скриптов как тараканов в помойке, так что сайт открывается с большой задержкой, а есть сайты на которых я заблокировал скрипты полностью, потому что они просто по чёрному тормозят, грузятся по несколько минут. Так же, на сайтах часто много лишних скриптов, всяких там рекламных и прочих собирающих инфу, что мне нах. не нужно.

Да и заходя на какой то новый, неизвестный сайт, где гарантия что он не заражён чем то, а тут лучше если все ява скрипты будут отключены по началу. Это конечно не гарантия что не подхватишь какую дрянь, но по крайней мере застрахуешься частично.


Я лично поддерживаю Vovan(ator), сайт должен работать как минимум полноценно и без скриптов, и тут без разницы что сегодня не 10 лет назад, и скрипты используются повсеместно, но если без них можно обойтись, то и нафиг они не нужны. Понятно что не везде можно без них обойтись, особенно сегодня, но чем их меньше, тем лучше.

#23 
zzsgszz прохожий04.03.16 19:59
zzsgszz
NEW 04.03.16 19:59 
in Antwort Vovan(ator) 27.02.16 19:57, Zuletzt geändert 04.03.16 20:07 (zzsgszz)
<div class="link" onClick="if(document.getElementById('1').style.display=='none'){document.getElementById('1').style.display='block'}else{document.getElementById('1').style.display='none'}">
<img src="https://ui.germany.ru/photos/239958.100.jpg" alt="-" title="-"  width="25" height="25" border="0"  >
<div id='1' style='display:none'>
Когда-то, давным-давно нашёл для себя такое решение, которое впоследствии применил на практике. Возможно такой вариант?
</div>
</div>
#24 
1 2 alle