Пятничные сниппеты. jQuery

23 мая 2008, 3:47 Евгений Белодед JavaScript рейтинг +43-

Пятничные сниппеты jQueryНачиная с сегодняшнего дня, каждую пятницу мы будем выкладывать некоторое количество сниппетов на разные темы.

Для тех, кто не знает, сниппетами обычно называют небольшой кусок кода, который полезно всегда иметь под рукой, чтобы не тратить время на поиск в голове или в интернете.


 

Поехали. Сегодняшние сниппеты касаются jQuery.

1. Плавное изменение цвета

Вы должно быть заметили, что ссылки у нас (в главном меню, в тегах и в заголовках на главной), плавно меняют свой цвет.
Как это делается при помощи jQuery: устанавливаем плагин Color Animations и пишем:

 $(document).ready( function() {
$(".mainMenu a, .articleTitle a").mouseover( function() {
$(this).animate({color: "#cc4e4e"}, {queue:false, duration:250 });
}).mouseout( function() {
$(this).animate({color: "#0e8db7"}, { queue:false, duration:350});
});

});

 

2. Выбрать все чекбоксы конкретного объекта

 // context = id элемента, внутри которого чекбоксы
function checkall(context){
$("#"+context).find("input[@type$='checkbox']").each(function(){
this.checked = checked;
});
}

 

3. Количество выбранных элементов


$('element').size();

 

4. Состояние радиобаттона



var var_name = $("input[@name='radio_name']:checked").val();

 

5. Переключатель класса

 $.fn.swapClass = function(c1, c2){
return this.each(function(){
var t = $(this);
(!t.is('.'+c1)) ?
t.addClass(c1).removeClass(c2) : t.addClass(c2).removeClass(c1);
});
}

 

Или короче (спасибо Sam'у):

$('#element').toggleClass('selected');

 

6. Перехват изменения размера окна

 function doSomething() {
alert("Я закончил изменение размера!");
};

var resizeTimer = null;
$(window).bind('resize', function() {
if (resizeTimer) clearTimeout(resizeTimer);
resizeTimer = setTimeout(doSomething, 100);
});

 

Пока все, что касается jQuery. В скором времени мы дополним эти сниппеты еще парочкой, как вы можете догадаться это произойдет в одну из пятниц.=)

Если у вас, дорогие читатели, есть свои заготовки, которыми вам не жалко поделиться, кидайте к нам на почту pisem@vremenno.net. Темы сниппетов ограничиваются клиентской частью веб-приложений, то есть js, css, HTML.

Рекламное место, которое может стать вашим

Понравилась статья?

Тогда подпишись на обновления через RSS или воспользуйся
другими способами подписки.

Читать в Яндекс.Ленте Добавить в Google Добавить в Netvibes
  •  

Комментарии — 26

RSS
  • Аватарка
    23 мая 2008 в 14:25 Sam
    4. Переключатель класса $('#element').toggleClass('selected');
  • Аватарка
    30 мая 2008 в 1:29 desp
    классно, ребята. Спасибо. Особенно круто было про плагин цветов для jQuery. Напишите еще как-нибудь.
  • Аватарка
    5 июня 2008 в 15:29 sarm
    все действительно КРУТО, но хотелось бы еще:) обещали же каждую пятницу выкладавать:)
  • Аватарка
    5 июня 2008 в 16:59 данек2
    Что обещали, то выполнено ;-). Опубликовано ровно через неделю после этой темы.
  • Аватарка
    13 июня 2008 в 0:27 Martin
    Я не увидел.. это mootools?
  • Аватарка
    13 июня 2008 в 0:58 ]]>Жека]]>
    нет, это jQuery
  • Аватарка
    16 июля 2008 в 22:47 Димон
    А как изменять background-color в ссылках (как на автокадабре ) . Я хочу что при наведении на ссылку плавно менялся не только цвет текста , но и бэк-граунд ссылки ?
  • Аватарка
    16 июля 2008 в 23:44 ]]>Grin]]>
    Так же, как в первом примере, только "color" замените на "background-color". Или можно посмотреть в сорсе автокадабры )
  • Аватарка
    17 июля 2008 в 0:19 Димон
    Я так и делал :-) (менял на "background-color" ) , но из этого ничего не вышло . Поэтому и прошу совета и знающих людей .
  • Аватарка
    17 июля 2008 в 11:54 ]]>Grin]]>
    попробуйте просто "background" - или посмотрите как сделано на автокадабре
  • Аватарка
    17 июля 2008 в 16:42 ]]>Жека]]>
    Димон, менять надо backgroundColor. Пример здесь
  • Аватарка
    18 июля 2008 в 1:44 Димон
    Спасибо Жека за ссылочку , но я там уже бывал ;-) и у меня всё равно не получалось . Оказывается , чтобы решить проблему необходимо в свойстве a:link добавить {background-color:#ваш_цвет фона} . С этой строчкой у меня всё заработало ;-)
  • Аватарка
    18 июля 2008 в 2:52 ]]>Жека]]>
    Ну так, ёманый мамай, конечно должно было быть какое-то начальное значение.
  • Аватарка
    20 июля 2008 в 21:21 ]]>Octane]]>
    1. Для того чтобы не писать mouseover-mouseout в jQuery предусмотрен метод hover, который принимает сразу 2 функции:
    $('.mainMenu a, .articleTitle a').hover(function() {
    	$(this).animate({color: '#cc4e4e'}, {queue: false, duration: 250});
    },
    function() {
    	$(this).animate({color: '#0e8db7'}, {queue: false, duration: 350});
    });
    2. Чтобы выбрать все чекбоксы конкретного объекта достаточно написать: $('#form-id input:checkbox').attr({checked: 'checked'}); Многие методы jQuery могут работать как с единичным объектом, так и с целым массивом объектов. Про переключатель класса уже поправили ;-)
  • Аватарка
    20 июля 2008 в 22:40 Zena
    Octane, вы автор js-core?
  • Аватарка
    20 июля 2008 в 22:44 ]]>Octane]]>
    Да, я. Пытаюсь написать что-то похожее на jQuery, но работающее в старых браузерах (IE5.5, Opera8)
  • Аватарка
    20 июля 2008 в 23:01 Zena
    Круто.
  • Аватарка
    20 июля 2008 в 23:03 ]]>Жека]]>
    Удачи Вам и веб плюс плюсу
  • Аватарка
    20 июля 2008 в 23:13 ]]>Octane]]>
    Спасибо большое :-) Вам тоже побольше читателей) Кстати, первоначально обратил внимание на этот блог из-за дизайна, весьма удачно получился.
  • Аватарка
    5 октября 2008 в 15:49 ]]>Snacke]]>
    Неплохая статья спасибо большое.
  • Аватарка
    3 апреля 2009 в 10:37 Олег Владимирович
    Про чекбоксы помогло. Огромное спасибо!
    онлайн курсы (Олег Владимирович, мы тут не меняемся ссылочками не по теме)
  • Аватарка
    7 мая 2009 в 17:37 ]]>Александров Николай]]>
    Спасибо за сниппеты, распечатал, использую в работе.
  • Аватарка
    20 августа 2009 в 19:26 Александр
    Выбрать все checkbox можно проще $("#id :checkbox") или $(":checkbox"). Прочитал на slyweb.ru
  • Аватарка
    5 октября 2009 в 17:22 ]]>dizelbox]]>
    Отличная подборка скриптов. Возьму на заметку пару из них.
  • Аватарка
    6 июня в 17:38 ]]>gp]]>
    Спасибо большое мне оч нравится.
  • Аватарка
    5 августа в 14:10 ]]>Vadyos]]>
    недавно создал собственный блог по Jquery. Если кому то будет интересно то вот адрес - vadyos.org.ua
  • Эл. почта (используется для Граватарки)
  • Домашняя страница
  • Имя в Твиттере
  • Разрешенные теги Текст сообщения (надо бы заполнить это поле)
  • как выглядит какой тег
    жирный текст <b>жирный текст</b>
    курсивный тект <i>курсивный тект</i>
    зачеркнутый текст <s>зачеркнутый текст</s>
    подчеркнутый текст <u>подчеркнутый текст</u>
    ссылка <a href="адрес">ссылка</a>
    function foo() { ... }
    <pre><code>function foo() { ... } </code></pre>