- 16.02.2011 07:58
- jQuery и JavaScript
Создаем страницу следующего вида:
-----------------------------------------------------------------------------------
< !DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' >
< html xmlns='http://www.w3.org/1999/xhtml' xml:lang='ru' lang='ru' >
< head >
< title >Выпадающий текст при нажатии на ссылки< /title >
< script type='text/javascript' src='http://yandex.st/jquery/1.4.4/jquery.min.js' >< /script >
< script type='text/javascript' >
$(document).ready(function() {
$('#cat p').hide();
$('#cat h4').click(function(){
$(this).next('p').slideToggle('slow');
});
});
< /script >
< /head >
< body >
< div id='cat' >
< h4 >< a href='#' >Продукты питания< /a >< /h4 >
< p >
< a href='#' >Печенье< /a >< br / >
< a href='#' >Суши< /a >< br />
< a href='#' >Хлебные изделия< /a >< br / >
< /p >
< h4 >< a href='#' >Безалкогольные напитки< /a >< /h4 >
< p >
< a href='#' >Вода< /a >< br / >
< a href='#' >Газировка< /a >< br / >
< a href='#' >Минеральные воды< /a >< br / >
< a href='#' >Сок< /a >< br / >
< /p >
< h4 >< a href='#' >Алкогольные напитки< /a >< /h4 >
< p >
< a href='#' >Вино< /a >< br / >
< a href='#' >Водка< /a >< br / >
< a href='#' >Ликер< /a >< br / >
< a href='#' >Шампанское< /a >< br / >
< /p >
< /div >
< /body >
< /html >
----------------------------------------------------------------------------------
Несколько слов по коду.
На 5 строке мы подключаемся к библиотеке jQuery. C 7 по 12 строки идет jQuery код, который сначала скрывает (hide()) все параграфы (
) в элементе с id='cat', а затем, при клике на ссылку в тэге H4, ищет следующий непосредственно за ним параграф (next('p')) и делает его видимым (slideToggle('slow')).
Добавив в jQuery-код немного магии, мы сможем добиться такого эффекта, что, при нажатии на ссылку с выпадающим текстом, другой выпадавший ранее текст свернется. Таким образом нам будет показан только один выпадший текст. Это достигается путем добавления пары манипуляций в 10 строке:
----------------------------------------------------------------------------------
$(this).next('p').slideToggle('slow').siblings('p:visible').slideUp('slow');
----------------------------------------------------------------------------------
ДЕМО
Автор статьи: Сафронов Максим
PS: незабываем удалять лишние пробелы в тегах
- Печать
- 0 Комментариев
- 3811 Прочтений
Поделиться этой статьей | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
- Нет данных для оценки.
Рейтинг доступен только для пользователей.
Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.