Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.09.2011, 09:18
Новичок на форуме
Отправить личное сообщение для memento Посмотреть профиль Найти все сообщения от memento
 
Регистрация: 16.09.2011
Сообщений: 5

class верхнего элемента
Здравствуйте помогите пожалуйста со скриптом, очень нужно
Есть вот такой код, но он обрабатывает все с начала страницы, а нужно что бы от клика мышки он поднимался только до определенного класса и от туда уже производил поиск div

<span class="expand"> 
        <div id="h0"> 	 <a class="slide" onclick="document.getElementById('h0').style.display='none';document.getElementById('h1').style.display='';return false;" href="#" >Северный Сервис-Центр <span class="more">Подробнее </span></a> </div>
       	 
        <div id="h1" style="display: none; "> 	 <a class="link" onclick="document.getElementById('h1').style.display='none';document.getElementById('h0').style.display='';return false;" href="#" >Северный Сервис-Центр <span class="more"> Скрыть </span> </a> 	</div>
       	 </span>


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

без указания подробностей, наверное, вы хотели получить такой код

document.body.onclick = function(){

      polnyatsaDoOpredelennogoClassa();

      poiskDiv();

}
Ответить с цитированием
  #3 (permalink)  
Старый 20.09.2011, 10:29
Новичок на форуме
Отправить личное сообщение для memento Посмотреть профиль Найти все сообщения от memento
 
Регистрация: 16.09.2011
Сообщений: 5

<span class="expand"> <div id="h0"> 	 <a class="slide" onclick="document.getElementById('h0').style.display='none';document.getElementById('h1').style.display='';return false;" href="#" >Северный Сервис-Центр <span class="more">Подробнее </span></a> </div></span>

вот есть javascipt в таких блоках он ищет id элемента от начала всей страницы, как сделать этот скрипт что бы он обращался к вот этому родителю <span class="expand"> и искал только в нем нужные id

Большое спасибо еще раз всем весь гугл перерыл не могу разобраться....
Ответить с цитированием
  #4 (permalink)  
Старый 20.09.2011, 10:32
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

id у элемента уникален на странице. класс, может тогда?
Ответить с цитированием
  #5 (permalink)  
Старый 20.09.2011, 10:45
Новичок на форуме
Отправить личное сообщение для memento Посмотреть профиль Найти все сообщения от memento
 
Регистрация: 16.09.2011
Сообщений: 5

Спасибо большое, я не знал что id не может быть больше одного но получается тогда класс искать надо но гляда на вашу аватарку.... ))
Ответить с цитированием
  #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);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать реакцию на изменение любого элемента формы. Mik Events/DOM/Window 3 28.07.2011 08:52
Браузер не успевает определить высоту вновь созданного через XMLHttpRequest элемента Lockpickup AJAX и COMET 17 25.04.2011 17:58
помогите "уловить" момент появления элемента Bebarr Swallow Events/DOM/Window 4 18.03.2011 08:16
Выбор элемента по class nematod Общие вопросы Javascript 3 20.01.2011 14:48
Координаты элемента при прокрутке jDriver jQuery 3 23.12.2010 00:52