Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Протестируйте код выезжающего меню.
 
 автор: SilentChild   (23.02.2012 в 01:22)   письмо автору
 
 

Здравствуйте, программисты и программистки!

Возник вопрос следующего характера:
Есть код выезжающего меню. Код работает, слава Богу, так, как и задумывалось - т.е. меню выезжает. Открываю на ноутбуке, в браузере Opera, этот код и меню выезжает с самого начала как-то "туговато", со скоростью не соответствующей той, на которую было рассчитано. Открываю у себя на ноутбуке, в браузере Google Chrome, этот код и сначала работает он "шустро", но "погоняв" немного выезжающее меню, оно замедляется и начинает выезжать так же медленно как и в браузере Опера. После перезагрузки браузера, меню снова начинает "резво" выезжать. Такая вот ситуация. Из-за чего это может быть? Из-за производительности ноутбука? Возможно такое? Проверял на ПК и на другом, более мощном ноутбуке - во всех браузерах меню работает хорошо. Будьте добры, если не затруднит кого, успокойте мою душу, протестируйте меню у себя и скажите, что это из-за ноутбука, а не из-за того, что, допустим, какая-нибудь функция setInterval() в коде очень туго работает. Код меню можно не смотреть и не "разгребать". Интересует вопрос - тормозит или не тормозит выезжание на других компьютерах.


<html>
<head>
<title></title>
<style>
div.divmenu {
    display:block;
    float:left;
    margin-top:200px;
    margin-left:0px;
    border:solid 0px #000;
    padding:0px;
    height:300px;
    overflow:hidden;
}
.ulmenu {
    display:block;
    position:relative;
    z-index:100;
    float:left;     
    border:solid 0px #000;  
    overflow:visible;        
    padding:0px;    
    margin:0px;    
}
.ulmenu li {    
    display:block;
    position:relative;       
    list-style:none;        
    float:left;
    border:solid 0px #000;             
}
.ulmenu a {
    display:block;
    border:solid 1px #777777;
    border-right-width:0px;   
    padding:10px 15px;    
    text-align:center;    
    text-decoration:none;
    background-color:#dddddd;
}
.ulmenu a:hover {
    background-color:#eeeeee;
}
a.rbblock {
    border-right-width:1px;
}
ul.submenu {
    display:block;    
    position:absolute;    
    top:-74px;        
    z-index:-1;
    border:solid 0px #000;
    margin:0px;
    padding:0px;    
}
ul.submenu li {
    display:block;
    position:relative;        
    clear:left;    
    border:solid 0px #000;     
    width:134px;      
}
ul.submenu li a {    
    padding-top:3px;
    padding-bottom:5px;
    text-align:left;    
    border-right-width:1px;    
    border-top-width:0px;        
}
ul.submenu li a:hover {
    background-color:#eeeeee;
}
div.after {
    display:block;    
    border:solid 0px #000;
    clear:both;
    float:left;    
}
</style>
</head>
<body>
<div class="divmenu">

<!-- menu start -->
<ul id="ulmenu" class="ulmenu">
  <li><a href="#">Главная</a>
    <ul class="submenu" class="pt3">
      <li><a href="#">submenu</a></li>
      <li><a href="#">submenu sub</a></li>
      <li><a href="#">submenu</a></li>
      <li><a href="#">submenu</a></li>
    </ul>
  </li>  
  <li><a href="#">Вход</a></li>
  <li><a href="#">Гостевая книга</a>
    <ul class="submenu" class="pt3">
      <li><a href="#">submenu</a></li>
      <li><a href="#">submenu sub</a></li>
      <li><a href="#">submenu</a></li>
      <li><a href="#">submenu</a></li>
    </ul>
  </li>
  <li><a href="#">Форум</a></li>
  <li><a class="rbblock" href="#">Контакты</a></li>
</ul>
<!-- menu end -->

<div class="after"></div>
</div>

<!-- script dropslow menu start -->
<script type="text/javascript">
var Int;
function f_Int(f)
{        
    clearInterval(Int);
    if (f) {         
        Int = setInterval("f_Drop(true)", 5);
    } else {        
        Int = setInterval("f_Drop()", 5);
    }
}
function f_Drop(f)
{    
    var u = document.getElementById('ulmenu').getElementsByTagName('li')[0].getElementsByTagName('ul')[0];    
    var s = window.getComputedStyle(u, "");
    var p = parseFloat(s.getPropertyValue("top"));
    //var p = parseFloat(u.currentStyle.top);     
    if (f) {       
        u.style.top = (p + 2) + "px";
        if (parseFloat(u.style.top) >= 41) {
            u.style.top = "41px";
            clearInterval(Int);
        }
    } else {        
        u.style.top = (p - 2) + "px";
        if (parseFloat(u.style.top) <= (-74)) {
            u.style.top = "-74px";
            clearInterval(Int);
        }
    }    
}
var li = document.getElementById('ulmenu').getElementsByTagName('li')[0];
li.onmouseover = new Function("f_Int(true)");
li.onmouseout = new Function("f_Int()");
</script>
<!-- script dropslow menu end -->
</body>
</html>

  Ответить  
 
 автор: elenaki   (23.02.2012 в 10:44)   письмо автору
 
   для: SilentChild   (23.02.2012 в 01:22)
 

нифига не работает.
ошибка в этой строке.
var s = window.getComputedStyle(u, ""); 

  Ответить  
 
 автор: SilentChild   (23.02.2012 в 12:21)   письмо автору
 
   для: elenaki   (23.02.2012 в 10:44)
 

В каком браузере не работает? Что за ошибка?
Если вы про IE, то да, там пока не должно работать. Мне интересно, как меню работает в Opera и Google Chrome.

  Ответить  
 
 автор: Sergkol   (28.02.2012 в 23:12)   письмо автору
 
   для: SilentChild   (23.02.2012 в 12:21)
 

Mozilla тормозит, выезжает рывками. Opera и Chrome все отлично, в IE не работает.

  Ответить  
 
 автор: SilentChild   (13.03.2012 в 18:09)   письмо автору
 
   для: Sergkol   (28.02.2012 в 23:12)
 

Благодарю! =)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования