Показать сообщение отдельно
  #6 (permalink)  
Старый 20.09.2011, 10:56
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

как-то так. без фреймворков. делает по аналогии с вашим кликом.

не требует ID (можно поубирать)

работать должен кроссбраузерно. проверьте , пожалуйста, в IE я под линуксом , под рукой осла нет.

на аватарке написано про объекты-классы, а не про классы у элементов

код работает так :

Цитата:
ищет родительский DIV, скрывает его,
ищет СОСЕДНИЙ РОДИТЕЛЬСКОМУ DIV и показывает его.

var ie=/*@cc_on!@*/0, doc=document;

var toggle = function(el,hide/*bool*/){
    el.style.display = hide ? 'none':'';
}

var handler = function(e){

    var el = ie ? event.srcElement:e.target,
        div = "DIV"
            
    // searching element parent node. "div#h0", for ex.
    var parent = el.parentNode;
    while( parent.tagName != div ) parent = parent.parentNode;
    
    // hide parent div
    toggle( parent, true );
   
    // searching next div. "div#h1", fox ex.
    var nextDiv = parent.nextSibling;
    while( nextDiv.tagName != div ) nextDiv = nextDiv.nextSibling;
    
    // and show it.
    toggle( nextDiv, false );
    
    // prevent link click
    ie ? (e.returnValue=0):e.preventDefault();
}
        

ie ? doc.attachEvent("onclick", handler):doc.addEventListener('click', handler, false);
Ответить с цитированием