Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.07.2009, 01:47
Новичок на форуме
Отправить личное сообщение для fizichello Посмотреть профиль Найти все сообщения от fizichello
 
Регистрация: 14.07.2009
Сообщений: 9

тормозит css меню в ie
есть выпадающее css меню.
ie 6.0 не поддерживает селектор :hover, следовательно подменю не выезжает.
проблему решил с помощью такого скрипта :
<script type="text/javascript">

jsHover = function() {
var hEls = document.getElementById("menu").getElementsByTagNa me("LI");
for (var i=0, len=hEls.length; i<len; i++) {
hEls[i].onmouseover=function() { this.className+=" jshover"; }
hEls[i].onmouseout=function() { this.className=this.className.replace(" jshover", ""); }
}
}
if (window.attachEvent && navigator.userAgent.indexOf("Opera")==-1) window.attachEvent("onload", jsHover);

</script>

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

Последний раз редактировалось fizichello, 14.07.2009 в 15:38.
Ответить с цитированием
  #2 (permalink)  
Старый 14.07.2009, 15:01
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

покажите работающий пример.
делал недавно такое же меню. все работало хорошо
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2009, 12:14
Новичок на форуме
Отправить личное сообщение для fizichello Посмотреть профиль Найти все сообщения от fizichello
 
Регистрация: 14.07.2009
Сообщений: 9

а каким образом я покажу? он у меня пока на локалхосте.
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2009, 17:51
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от fizichello
а каким образом я покажу?
код покажите, а не меню. Для этого есть bb-таги [JS] и [html].
Какая версия ИЕ?!
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2009, 19:35
Новичок на форуме
Отправить личное сообщение для fizichello Посмотреть профиль Найти все сообщения от fizichello
 
Регистрация: 14.07.2009
Сообщений: 9

версия ие 6.0

хтмл код :
<!--меню навигации-->
                               <div  id="menu">
		                       <ul>
			                   <li><a href="index.php" id="current">Главная</a></li>
			                   <li><a href="projects.php" >Проекты</a>
				               <ul>
                               <li><a href="#">Пункт 1</a></li>
                               <li><a href="#">Пункт 2</a></li>
                               <li><a href="#">Пункт 3</a></li>
                               <li><a href="#">Пункт 4</a></li>
                               </ul>
		                       </li>
          
			                   <li><a href="technology.php">Технология</a>
                               <ul>
                               <li><a href="#">Пункт 1</a></li>
                               <li><a href="#">Пункт 2</a></li>
                               <li><a href="#">Пункт 3</a></li>
                               <li><a href="#">Пункт 4</a></li>
                               </ul>
                               </li>
			                   <li><a href="contacts.php">Контакты</a></li>
                               </li>
			                   <li><a href="about.php">О нас</a></li>
		                       </ul>
	                           </div>

CSS код меню навигации :
#menu{
border:none;
border:0px;
margin:0px;
padding:0px;
font-family:verdana,geneva,arial,helvetica,sans-serif;
font-size:14px;
font-weight:bold;
color:8e8e8e;

}
#menu ul{
background:url(images/menu-bg.gif) top left repeat-x;
height:43px;
list-style:none;
margin:0;
padding:0;

}
#menu li{
float:left;
}
#menu li a{
color:#3E7999;
display:block;
font-weight:bold;
line-height:43px;
padding:0px 25px;
text-align:center;
text-decoration:none;
}
#menu li a:hover{
color:#000000;
text-decoration:none;
}
#menu li ul{
background:#e0e0e0;
border-left:2px solid #0079B2;
border-right:2px solid #0079B2;
border-bottom:2px solid #0079B2;
display:none;
height:auto;
filter:alpha(opacity=95);
opacity:0.95;
position:absolute;
width:150px;
z-index:200;
/*top:1em;
/*left:0;*/
}
#menu li:hover ul,
#menu li.jshover ul{
display:block;
visibility:visible;
}
#menu li li{
display:block;
float:none;
width:150px;
}
#menu li ul a{
display:block;
font-size:12px;
font-style:normal;
padding:0px 10px 0px 15px;
text-align:left;
visibility:visible;
width:125px;
}
#menu li ul a:hover{
background:#A1B7C4;
color:#000000;
opacity:1.0;
filter:alpha(opacity=100);
visibility:visible;
}




#menu p{
clear:left;
}
#menu #current{
background:url(images/current-bg.gif) top left repeat-x;
color:#333333;
}
код между тегами head :
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css">
<script language="javascript" src="js_hover.js" type="text/javascript"></script>
</head>


файл js_hover.js :
<script type="text/javascript">
jsHover = function() {
var hEls = document.getElementById("menu").getElementsByTagNa me("LI");
for (var i=0, len=hEls.length; i<len; i++) {
hEls[i].onmouseover=function() { this.className+=" jshover"; }
hEls[i].onmouseout=function() { this.className=this.className.replace(" jshover", ""); }
}
}
if (window.attachEvent && navigator.userAgent.indexOf("Opera")==-1) window.attachEvent("onload", jsHover);
</script>

Последний раз редактировалось fizichello, 17.07.2009 в 13:33.
Ответить с цитированием
  #6 (permalink)  
Старый 17.07.2009, 09:59
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

fizichello, я же просил использовать таги... Отредактируйте свой пост.
Ответить с цитированием
  #7 (permalink)  
Старый 17.07.2009, 10:02
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Строку
navigator.userAgent.indexOf("Opera")==-1

можно заменить на
!window.opera

Последний раз редактировалось B~Vladi, 17.07.2009 в 10:05.
Ответить с цитированием
  #8 (permalink)  
Старый 17.07.2009, 10:07
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от fizichello
opacity:1.0;
filter:alpha(opacity=100);
Зачем это?! Уберите.

Последний раз редактировалось B~Vladi, 17.07.2009 в 10:10.
Ответить с цитированием
  #9 (permalink)  
Старый 17.07.2009, 13:34
Новичок на форуме
Отправить личное сообщение для fizichello Посмотреть профиль Найти все сообщения от fizichello
 
Регистрация: 14.07.2009
Сообщений: 9

убрал, не помогло. может у меня просто тугой комп?))
Ответить с цитированием
  #10 (permalink)  
Старый 17.07.2009, 13:42
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сам по себе ИЕ дольше рендерит страницу (из собственных наблюдений) чем другие. Думаю, такое простое меню не должно его грузить. Возможно есть ещё какие-нибудь динамические элементы, флэш, например?! Ещё на скорость рендеринга влияет объём памяти видеокарты.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу jQuery плагин для создания меню Zeboton jQuery 9 15.09.2014 15:31
меню на CSS не работает в IE scuter Общие вопросы Javascript 3 24.06.2010 23:03
Подскажите как сделать меню на CSS если: greatilya (X)HTML/CSS 10 18.10.2009 20:26
Событие mouseout при наведении мыши на пункт меню WalterScott Events/DOM/Window 2 12.05.2009 22:05
Выпадающее меню на css и javascript Jackky Общие вопросы Javascript 3 13.09.2008 18:30