айфон и псевдокласс hover

KK
На сайте с 25.07.2006
Offline
138
1133

Подскажите пожалуйста как заставить hover работать на айфоне? Меню сайта не работает.

В нете нашел два способа:

1) В кнопку вставить пустой обработчик click

2) Вставить яваскрипт

var myLinks = document.getElementsByTagName('a');

for(var i = 0; i < myLinks.length; i++){
myLinks.addEventListener('touchstart', function(){this.className = "hover";}, false);
myLinks.addEventListener('touchend', function(){this.className = "";}, false);
}

ни то ни другое не помогло. Или я неправильно что-то сделал... Сайт http://www.bugdesign.com.ua

Jekyll
На сайте с 04.05.2009
Offline
136
#1

А когда он должен срабатывать? Типа, заносите палец над ссылкой, и срабатывает hover? :)

Наверное, вам нужно делать не 'this.className = "hover"', а менять класс для списка с пунктами 2-го уровня (делать видимыми)

KK
На сайте с 25.07.2006
Offline
138
#2

та нее. Он должен срабатывать, когда нажимаешь на раздел меню.

На моей нокие в опера мобайл например так и работает без всяких проблем - телефон тоже сенсорный.

А на айфоне ничего не происходит при нажатии.

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

Kel_Kimpbell добавил 21-11-2011 в 17:01

Это называется имитация псевдокласса hover для iphone. Отсюда взял - http://2web-master.ru/10-useful-code-snippets-to-develop-iphone-friendly-websites-chapter-2.html

Может яваскрипт не туда вставляю? Я его вставил между <head></head>

Или может в яваскрипте что-то надо заменить? У меня ведь не просто a:hover, у меня a.mainlevel-suckerfish-vertical:hover и т.п.

В javascript вобще не разбираюсь...

Kel_Kimpbell добавил 22-11-2011 в 12:46

Javascript нужно видимо как-то изменить. Подскажите плииз как? Кто в яваскрипте разбирается.

Jekyll
На сайте с 04.05.2009
Offline
136
#3

У вас же первый уровень меню сделан не ссылками, тегами span. Вам нужно либо сделать его ссылками (вместо <span class="expanded">...</span> - <a class="expanded" href='#'>...</a>), либо применять хак не для <a>, а для <span>:

myLinks = document.getElementsByTagName('span');

KK
На сайте с 25.07.2006
Offline
138
#4

span у меня стоит внутри ссылки. И псевдокласс для a ведь указан. Даже если span убрать - меню все равно раскрывается. Так что он тут по идее не причем..

KK
На сайте с 25.07.2006
Offline
138
#5

Все еще актуально...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий