Javascript.RU

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

Открывающиеся списки!
Добрый вечер! Ребята подскажите пожалуйста, как реализовать подобную функцию: При нажатии на первую ссылку. под ней открывается текст, а при нажатии на следующую, первая сворачивается, а это открывает под собой свой текст. Буду очень благодарен за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 28.03.2013, 18:37
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

http://tympanus.net/codrops/2012/02/...ion-with-css3/
Ответить с цитированием
  #3 (permalink)  
Старый 28.03.2013, 18:44
Новичок на форуме
Отправить личное сообщение для Maks456 Посмотреть профиль Найти все сообщения от Maks456
 
Регистрация: 28.03.2013
Сообщений: 3

Круто! Но мне нужна реализация исключительно на Javascript, и предыдущая ссылка должна сворачиваться самостоятельно, в момент нажатия на следующую
Ответить с цитированием
  #4 (permalink)  
Старый 28.03.2013, 18:53
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

Там 3 демо, во втором - такое поведение, как вам нужно.
Ну а если на js, то вы хоть разметку свою приведите.
Как один из вариантов: помечать раскрытую ссылку классом, указывающий, что ссылка раскрыта. При клике на ссылку ищем ссылки с данным атрибутом, скрываем их текст, удаляем класс, у текущей ссылки открываем текст, добавляем класс.
Ответить с цитированием
  #5 (permalink)  
Старый 28.03.2013, 19:33
Новичок на форуме
Отправить личное сообщение для Maks456 Посмотреть профиль Найти все сообщения от Maks456
 
Регистрация: 28.03.2013
Сообщений: 3

Да, это то что мне нужно! Мне бы пример кода посмотреть, как это реализованно в javascript
Ответить с цитированием
  #6 (permalink)  
Старый 28.03.2013, 23:51
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

<style>
    .visible {
        display: block !important;
    }
    #accordion p {
        display: none;
    }
    #accordion span {
        cursor: pointer;
     }
</style>
<div id="accordion">
    <span class="opened">Ссылка 1</span>
    <p class="visible">Текст по ссылке 1</p>
    <br>
    <span>Ссылка 2</span>
    <p>Текст по ссылке 2</p>
<script>
(function() {
    var accordion = document.getElementById('accordion');
    accordion.onclick = function(e){
        if (e.target.nodeName === 'SPAN') {
            var opened = accordion.querySelectorAll('.opened');
            for (var i = 0; i < opened.length; i++) {
                opened[i].classList.remove('opened');
                opened[i].nextElementSibling.classList.remove('visible');
            }
            e.target.classList.add('opened');
            e.target.nextElementSibling.classList.add('visible');
        }
    }
})()
</script>

Как-то так. Только этот код не кроссбраузерный. Да и вообще, можно было бы и красивее сделать)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синхронные выпадающие списки Negro Общие вопросы Javascript 4 08.07.2012 22:26
Зависимые списки! DSHA Элементы интерфейса 12 27.06.2012 12:27
Связанные списки Telnet AJAX и COMET 1 04.04.2011 21:18
взаимосвязанные выпадающие списки xDMK Серверные языки и технологии 37 11.11.2010 16:12
Выпадающие списки - динамика Страдающий AJAX и COMET 7 11.09.2009 18:25