JS выпадающее меню -проблема закрытия..

Статус
В этой теме нельзя размещать новые ответы.

Neow15ard

Постоялец
Регистрация
26 Ноя 2008
Сообщения
418
Реакции
190
Есть JS выпадающее меню (типа слайдера) , и проблема в том что оно изначально рисуется раскрытым , и после загрузки всей страницы начинает схлопываться. И иногда загрузка всей страницы происходт долго так как есть еще гугл мапс который подгружается после загрузк страницы и иногда флэш. Можно как то сделать чтобы это хозяйство сразу срабатывало ?
Код схлопывания ниже.


PHP:
<!--
window.addEvent('domready', function(){
  $('drop_down_menu').getElements('li.menu').each( function( elem ){
    var list = elem.getElement('ul.links');
    var myFx = new Fx.Slide(list).hide();
    elem.addEvents({
      'mouseenter' : function(){
        myFx.cancel();
        myFx.slideIn();
      },
      'mouseleave' : function(){
        myFx.cancel();
        myFx.slideOut();
      }
    });
  })
});
//-->
 
принцип работы таких меню заключается в том что по какому-то событию они скрывают "блок ссылок" путем установки css свойств


у вас же это скрытие происходит при полной загрузке дума страницы

PHP:
window.addEvent('domready', function(){  // событие domready - т.е. сработает при загрузке дума  
  $('drop_down_menu').getElements('li.menu').each( function( elem ){ 
    var list = elem.getElement('ul.links'); 
    var myFx = new Fx.Slide(list).hide(); // походу само скрытие менюшек

следовательно чтоб исправить можно в отдаваемом браузере коде изначально установить css свойства visibility или display ...
 
display:none предпочтительнее
 
т.е. эта функция myfx.show должна будет присваивать стиль видимы а Hide display none части <li></li>.
А поисковики как к этому - как то обсуждали что dispaly none это частый признак доров ?
 
т.е. эта функция myfx.show должна будет присваивать стиль видимы а Hide display none части <li></li>.
А поисковики как к этому - как то обсуждали что dispaly none это частый признак доров ?
Ну не знаю, сам оптимизацией не занимаюсь, для этого есть специально обученные люди и выводить в топ яндекса сайты с менюшками подобного рода (li {display:none} в ксс) каких то проблем не создавало.
 
Если ставлю изначально свойство display.none то проиходит все что надо кроме открытия меню собственно. Т.е. где то надо дописать после domready чтобы стиль display:none (который у меня прописан в css) изенился на block. (Функции Slide,hide ...) как я разобрался беруться из mootools .
Подскажите плиз как исходя из того кода что есть выше сменить display.
Я пробовал уже варинатов 50..((
$(list).setStyle('display', 'block');
и так myFx.setStyle('display', 'block');
не получается.
Т.е. мне для всех элементов(функция ниже) ul.links необходимо сменить стиль css с display.none на display.block. как это вставить ?
window.addEvent('domready', function(){
$('drop_down_menu').getElements('li.menu').each( function( elem ){
var list = elem.getElement('ul.links');
var myFx = new Fx.Slide(list).hide();
elem.addEvents({
'mouseenter' : function(){
myFx.cancel();
myFx.slideIn();
},
'mouseleave' : function(){
myFx.cancel();
myFx.slideOut();
}
});
})
});
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху