Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Странности IE

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
SergeantPEPPER
Отправлено: 30 Октября, 2008 - 11:32:36
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007  
Откуда: Казань


Помог: 0 раз(а)




Доброго времени суток.

Никак не могу разобраться со странным глюком. Я сделал меню, при наведении на него указателя мыши выпадает подменю выбранного пункта через JS и CSS. Мудился достаточно долго, чтобы это смертельно надоело Улыбка и наконец, вышло...
Но как оказалось работает корректно во всех браузерах, кроме IE (как всегда Недовольство, огорчение) По непонятной причине пункты выпадающего меню (элементы LI) становятся неактивными (т.е. отображаются, но своих функций не выполняют)... ВСЕ КРОМЕ ПЕРВОГО! Как объяснить это я действительно не знаю...

Посмотреть на это можно здесь http://vmk4[dot]kzn[dot]ru/account_sys

Меню в HTML выглядит так:
CODE (text):
скопировать код в буфер обмена
  1. <div class="menu">
  2.                 <ul style="padding-left: 0.1em;" onmouseover="showItem('item1');highlightItem('hItem1');" onmouseout="hideItem('item1');lowlightItem('hItem1');">
  3.                         <li>
  4.                                 <a href="#" id="hItem1">File</a>
  5.                                 <ul id="item1" onmouseout="hideItem('item1');lowlightItem('hItem1');">
  6.                                         <li><a href="#">Option1</a></li>
  7.                                         <li><a href="#">Option2s</a></li>
  8.                                         <li><a href="#">Option3</a></li>
  9.                                         <li><a href="#">Option4</a></li>
  10.                                 </ul>
  11.                         </li>
  12.                 </ul>
  13.                 <ul onmouseover="showItem('item2');highlightItem('hItem2');" onmouseout="hideItem('item2');lowlightItem('hItem2');">
  14.                         <li>
  15.                                 <a href="#" id="hItem2">Fonts2</a>
  16.                                 <ul id="item2" onmouseout="hideItem('item2');lowlightItem('hItem2');">
  17.                                         <li><a href="#">Option1</a></li>
  18.                                         <li><a href="#">Option2</a></li>
  19.                                         <li><a href="#">Option3</a></li>
  20.                                         <li><a href="#">Option4</a></li>
  21.                                 </ul>
  22.                         </li>
  23.                 </ul>
  24.                 <ul onmouseover="showItem('item3');highlightItem('hItem3');" onmouseout="hideItem('item3');lowlightItem('hItem3');">
  25.                         <li>
  26.                                 <a href="#" id="hItem3">Fonts3</a>
  27.                                 <ul id="item3" onmouseout="hideItem('item3');lowlightItem('hItem3');">
  28.                                         <li><a href="#">Option1</a></li>
  29.                                         <li><a href="#">Option2</a></li>
  30.                                         <li><a href="#">Option3</a></li>
  31.                                         <li><a href="#">Option4</a></li>
  32.                                 </ul>
  33.                         </li>
  34.                 </ul>
  35.         </div>

JS функции так:
CODE (text):
скопировать код в буфер обмена
  1. function showItem(id)
  2. {document.getElementById(id).style.display='block';}
  3. function hideItem(id)
  4. {document.getElementById(id).style.display='none';}
  5. function highlightItem(id)
  6. {
  7.         document.getElementById(id).style.backgroundColor='#669933';
  8.         document.getElementById(id).style.color='#FFF';
  9.         document.getElementById(id).style.borderColor='#558822';
  10. }
  11. function lowlightItem(id)
  12. {
  13.         document.getElementById(id).style.backgroundColor='#EEE';
  14.         document.getElementById(id).style.color='#444';
  15.         document.getElementById(id).style.borderColor='#DDD';
  16. }

А стили CSS так:
/* Class selectors */
CODE (text):
скопировать код в буфер обмена
  1. .menu{
  2.         width: 63.8em;
  3.         height:  2.1em;
  4.         margin: 0 0.5em 0.3em 0.5em;
  5.         background-color: #336699;
  6.         border: 0.1em solid <?php echo $Config['header_bord_color']; ?>;
  7.         line-height: 1.4em;
  8.         white-space: nowrap;
  9. }
  10. .menu ul {
  11.         display: block;
  12.         list-style-type: none;
  13.         z-index: 90;
  14.         text-align: center;
  15. }
  16. .menu ul li{
  17.         width: 13em;
  18.         white-space: nowrap;
  19.         float: left;
  20.         position: relative;
  21. }
  22. .menu ul li a{
  23.         font-size: 0.95em;
  24.         font-weight: normal;
  25.         text-decoration: none;
  26.         text-transform: uppercase;     
  27.         background-color: <?php echo $Config['menu_bg_color']; ?>;
  28.         color: <?php echo $Config['menu_font_color']; ?>;
  29.         border: 0.1em solid <?php echo $Config['menu_bord_color']; ?>;
  30.         padding: 0.3em 1.6em;
  31.         display: block;
  32.        
  33. }
  34. .menu ul li a:hover{
  35.         text-decoration: none;
  36.         background-color: <?php echo $Config['smenu_bg_color']; ?>;
  37.         color: <?php echo $Config['smenu_font_color']; ?>;
  38.         border: 0.1em solid <?php echo $Config['smenu_bord_color']; ?>;
  39. }
  40. .menu ul li ul{
  41.         position: absolute;
  42.         left: 0;
  43.         top: auto;
  44.         display: none;
  45.         z-index: 200;
  46.         width: 13em;
  47. }
  48. .menu ul li ul li{
  49.         position: relative;
  50. }
  51. .menu ul li ul li a{
  52.         padding: 0.3em 1.6em;
  53.         font-size: 0.8em;
  54. }
К вышесказанному дополню: нечаянно у меня получился такой фокус: я перемещаю мышь на первый пункт (который работает нормально - т.е. весь пункт является ссылкой, а не только текст), нажимаю правую кнопку мыши, вылезает popup IE, в это время перемещаю курсор на второй пункт и несколько раз щелкаю левой кнопкой по ссылке, затем перемещаю курсор обратно на первый пункт и VOILA: теперь нормально работает уже два пункта! Оказалось, что так можно активировать все пункты... Вот такое вот странное извращение. Что же делать? Я просто первый раз такое меню творю, мне достаточно сложно. Ведь там в принципе все подобные меню на сайтах схожи, т.е. те, кто этим занимался наверное знают как это обходить и ЧТО это вообще Улыбка

P.S. Это меню я сам делал по примеру чужого сайта с работающим меню. Правда, там табличная верстка, а я в этот раз решил попробовать через DIV-ы. Там (www[dot]zamzamplus[dot]ru ) меню работает, но этот косяк частично присутствует: в пунктах начиная со второго ссылкой является не весь пункт, а только текст в нем.

(Отредактировано автором: 30 Октября, 2008 - 11:34:10)

 
 Top
IOpeH
Отправлено: 30 Октября, 2008 - 12:11:09
Post Id



Частый гость


Покинул форум
Сообщений всего: 175
Дата рег-ции: Нояб. 2007  


Помог: 0 раз(а)




если так не получилось, попробуй подругому. используй везде дивы. я тоже делал как т о меню, использовал списки сначало, о потом что то там с ие не сложилось, в итоге все на дивах сделал
 
 Top
Viper
Отправлено: 30 Октября, 2008 - 13:25:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




может стоит почитать статью _http://beholder-eye.info/2006/03/30/dropdown-menu-css


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
SergeantPEPPER
Отправлено: 03 Ноября, 2008 - 17:37:23
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007  
Откуда: Казань


Помог: 0 раз(а)




Viper пишет:
может стоит почитать статью _http://beholder-eye.info/2006/03/30/dropdown-menu-css


Почитал Улыбка
Даже пример посмотрел. У меня на IE5 это css-меню приведенное там, работало через раз и ОЧЧЧЕНЬ нестабильно: иногда выпадает-иногда нет, да и потом все пункты вдруг потеряли свой контент (текст то есть) Недовольство, огорчение

Вообщем по-любому надо JS+CSS делать Улыбка Кой чего наковырял в связи с этим - посмотрю, если решу проблему - отпишусь
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTML, Дизайн & CSS »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB