В предыдущей статье мы узнали о том, как пользоваться объектами. Теперь мы разберем некоторые эффекты, которые дает нам jQuery.
1. Выдвижная панель
Начнем с одного из самых простых примеров: Slide panel. Когда-то давно у нас был показан пример ее реализации. Однако теперь, мы рассмотрим этот пример подробнее.
В начале создаем html код:
Добавляем css стили:
#panel {background: #754c24;height: 200px;display: none;}
.slide {margin: 0;padding: 0;border-top: solid 4px #422410; background: url(files/slid.gif) no-repeat center top;}
.btn-slide {
background: url(files/ar.gif) no-repeat right -50px;
text-align: center;color: #fff;
width: 144px;height: 31px;padding: 10px 10px 0 0;margin: 0 auto;
display: block;font: bold 120%/100% Arial, Helvetica, sans-serif;
text-decoration: none;}
.active {background-position: right 12px;}
Создаем оболочку для нашего кода:
$(document).ready(function(){
});
Панелька будет выдвигать при клике на объект с классом btn-slide.
$(document).ready(function(){
$(".btn-slide").click(function(){
});
});
Привязываем к объекту определенный effect. В данном случае мы будем использовать slideToggle (скорость: “slow”) и toggleClass.
$(document).ready(function(){
$(".btn-slide").click(function(){
$("#panel").slideToggle("slow");
$(this).toggleClass("active"); return false;
});
});
Если #panel имеет display:none;, то этот объект плавно выползет вниз. Если же display:block;, то объект плавно поднимется вверх и исчезнет.
Строчка “$(this)” озночает, что действие будет происходить с объектом на который кликаем “.btn-click”. А toggleClass добавляет или убирает определенный класс. В нашем случае – это active.
2. Эффект исчезновения
Html оболочка:
Блок
Текст внутри блока
Удалить
Когда мы кликаем по тексту “Удалить
“, будет найден родительский элемент “<div class=”pane”>”, и его прозрачность будет медленно изменяться от “opacity= 1.0” до “opacity=hide” со скоростью “slow”:
$(document).ready(function(){
$(".pane .delete").click(function(){
$(this).parents(".pane").fadeOut("slow");
});
});
Еще один хороший эффект.
Весь мануал по эффектам вы сможете найти в документации jQuery.
Сегодня мы рассмотрели два примера реализации эффектов на jQuery. Выползающую панель и плавное исчезновение. Два хороших примера для освоения.
Ответить | Цитировать
При выключенном sef ссылка <a href=”#” выглядит как http://сайт.ру/# и спойлер открывается
а при включённом sef – http://сайт.ру/страница.html/# то есть к ссылке добавляется “страница.html” и спойлер неработает.
Скажите пожалуйста как решить?
Ответить | Цитировать
Ответить | Цитировать
если включить в админке Joomla дружественных ссылок – SEO, ссылки становятся типа /content/blogcategory/35/75/ вместо стандартных /index.php?option=com_content&view=article&id=23 и страницу при этом подбрасывает вверх,
то есть ссылка на спойлер в jquery изначально имеет вид <a href=”#” и при наведении отображается так – http://site.ru/#, спойлер работает нормально – выдвигается панель.
Но стоит в админке включить SEO – к ссылке добавляется дружественное название страницы: http://site.ru/content/blogcategory/35/75/#, с такой ссылкой страницу подбрасывает вверх.
Подстановка “javascript:void(0);” и “javascript:;” вместо “#” в <a href=”#” ни к чему не приводит.
Ответить | Цитировать
Видимо вы где-то делаете ошибку, потому что, повторюсь “скрипт не использует привязку к якорю”.
Ответить | Цитировать
Ответить | Цитировать
$(document).ready(function(){
$(‘.spoiler’).hide()
$(‘.pressit’).click(function(){
$(this).next().slideToggle(“slow”)
})
})
Нажми меня
Содержимое спойлера
Подскажите, как сделать, чтобы при первом клике панель выдвигалась и больше назад не задвигалась при последующем нажатии?
Ответить | Цитировать
Ответить | Цитировать
Ответить | Цитировать