| Главная » Статьи » jQuery |
Как же все-таки работает jQuery?Ну для начала Вам понадобится сам фреймворк, его вы сможете скачать с домашней страницы проекта, затем проинициализировать: <head> А основные моменты Вам поможет понять следующая диаграмма:
Как получить элемент с помощью jQuery? Выдвижная панель
Реализуем это следующим образом, по клику на ссылку, у нас будет переключаться её класс (между "active” и "btn-slide”), а панелька с id=”panel” будет выдвигаться/прятаться. (класс "active” изменяет позицию фонового изображения, см. CSS файл во вложении). $(document).ready(function(){ Магические исчезновения
Когда мы кликаем по картинке <img class=”delete”>, будет найден родительский элемент <div class=”pane”>, и его прозрачность будет медленно изменяться от opacity= 1.0 до opacity=hide: $(document).ready(function(){ Связанная анимация
Line 0: когда прогрузилась страница (DOM готов к манипуляциям) $(document).ready(function(){ $(".run").click(function(){ $("#box").animate({opacity: "0.1", left: "+=400"}, 1200) .animate({opacity: "0.4", top: "+=160", height: "20", width: "20"}, "slow") .animate({opacity: "1", left: "0", height: "100", width: "100"}, "slow") .animate({top: "0"}, "fast") .slideUp() .slideDown("slow") return false; }); }); Гармошка #1
Теперь приступим к разбору полетов: $(document).ready(function(){ Гармошка #2 Этот пример схож с предыдущим, лишь отличается тем, что мы указываем открытую по умолчанию панельку В CSS у нас указано для всех элементов <p> display:none. Теперь нам необходимо открыть третью панель. Для этого мы можем написать следующее $(".accordion2 p”).eq(2).show(), где eq обозначает равенство. Помните, что индексирование начинается с нуля: $(document).ready(function(){ $(".accordion2 h3").eq(2).addClass("active"); $(".accordion2 p").eq(2).show(); $(".accordion2 h3").click(function(){ $(this).next("p").slideToggle("slow") .siblings("p:visible").slideUp("slow"); $(this).toggleClass("active"); $(this).siblings("h3").removeClass("active"); }); }); Анимация для события hover #1 Данный пример поможет создать Вам очень красивую анимацию для события hover
Когда Вы наводите мышкой на элемент меню (mouseover), происходит поиск следующего элемента <em>, и анимируется его прозрачность и расположение: $(document).ready(function(){ Анимация для события hover #2 Данный пример чуть-чуть посложней предыдущего примера: для формирования подсказки используется атрибут linktitle
Первым делом добавим тэг <em> в каждый элемент <a>. Когда произойдет событие mouseover, мы возьмем текст из атрибута "thetitle” и сохраним его в переменной "hoverText”, затем этот текст будет вставлен в тэг <em>: $(document).ready(function(){ Кликабельные блоки Этот пример демонстрирует как сделать кликабельным блок с текстом, а не только ссылку
Создадим список <ul> с классом class=”pane-list” и мы хотим сделать элементы <li> кликабельными. Для начала привяжемся к событию click для элемента ".pane-list li”; когда пользователь будет кликать по элементу списка, наша функция произведет поиск тэга <a> и сделает редирект на страницу указанную в атрибуте href. $(document).ready(function(){ $(".pane-list li").click(function(){ window.location=$(this).find("a").attr("href"); return false; }); }); Складывающиеся панельки Ну а теперь чуть-чуть скомбинируем предыдущие примеры и создадим ряд складывающихся панелек (наподобие как в Gmail организован inbox).
скрываем все элементы <div class=”message_body”> после первого. $(document).ready(function(){ //hide message_body after the first one $(".message_list .message_body:gt(0)").hide(); //hide message li after the 5th $(".message_list li:gt(4)").hide(); //toggle message_body $(".message_head").click(function(){ $(this).next(".message_body").slideToggle(500) return false; }); //collapse all messages $(".collpase_all_message").click(function(){ $(".message_body").slideUp(500) return false; }); //show all messages $(".show_all_message").click(function(){ $(this).hide() $(".show_recent_only").show() $(".message_list li:gt(4)").slideDown() return false; }); //show recent messages only $(".show_recent_only").click(function(){ $(this).hide() $(".show_all_message").show() $(".message_list li:gt(4)").slideUp() return false; }); }); Галерея изображений Простейший пример реализации галереи, без перезагрузки страницы.
Для начала добавим тэг <em> в заголовки <h2> $(document).ready(function(){ $("h2").append('<em></em>') $(".thumbs a").click(function(){ var largePath = $(this).attr("href"); var largeAlt = $(this).attr("title"); $("#largeImg").attr({ src: largePath, alt: largeAlt }); $("h2 em").html(" (" + largeAlt + ")"); return false; }); }); Стилизируем ссылки Большинство нормальных браузеров легко понимают когда мы хотим добиться от них стилизации ссылок для различного типа файлов, для это цели можно использовать следующее CSS правило: a[href $='.pdf'] { … }. Но как обычно IE6 отличается умом и сообразительностью, по этой причине будем ставить ему костыли используя jQuery
Для начала добавим класс для каждой ссылки, в соответствии с типом файла. $(document).ready(function(){ $("a[href$=pdf]").addClass("pdf"); $("a[href$=zip]").addClass("zip"); $("a[href$=psd]").addClass("psd"); $("a:not([href*=http://www.webdesignerwall.com])").not("[href^=#]") .addClass("external") .attr({ target: "_blank" }); }); | |
| Просмотров: 1147 | Рейтинг: 0.0/0 |
| Всего комментариев: 0 | |
