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

Пятничные сниппеты. 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.

Расскажите друзьям

Оцените статью:
  • 1
  • 2
  • 3
  • 4
  • 5

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

Sam
4. Переключатель класса $('#element').toggleClass('selected');
#
Sam
desp
классно, ребята. Спасибо. Особенно круто было про плагин цветов для jQuery. Напишите еще как-нибудь.
#
desp
sarm
все действительно КРУТО, но хотелось бы еще:) обещали же каждую пятницу выкладавать:)
#
sarm
данек2
Что обещали, то выполнено ;-). Опубликовано ровно через неделю после этой темы.
#
данек2
Martin
Я не увидел.. это mootools?
#
Martin
Жека
нет, это jQuery
Димон
А как изменять background-color в ссылках (как на автокадабре ) . Я хочу что при наведении на ссылку плавно менялся не только цвет текста , но и бэк-граунд ссылки ?
#
Димон
Grin
Так же, как в первом примере, только "color" замените на "background-color". Или можно посмотреть в сорсе автокадабры )
#
Grin
Димон
Я так и делал :-) (менял на "background-color" ) , но из этого ничего не вышло . Поэтому и прошу совета и знающих людей .
#
Димон
Grin
попробуйте просто "background" - или посмотрите как сделано на автокадабре
#
Grin
Жека
Димон, менять надо backgroundColor. Пример здесь
Димон
Спасибо Жека за ссылочку , но я там уже бывал ;-) и у меня всё равно не получалось . Оказывается , чтобы решить проблему необходимо в свойстве a:link добавить {background-color:#ваш_цвет фона} . С этой строчкой у меня всё заработало ;-)
#
Димон
Жека
Ну так, ёманый мамай, конечно должно было быть какое-то начальное значение.
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 могут работать как с единичным объектом, так и с целым массивом объектов. Про переключатель класса уже поправили ;-)
Zena
Octane, вы автор js-core?
#
Zena
Octane
Да, я. Пытаюсь написать что-то похожее на jQuery, но работающее в старых браузерах (IE5.5, Opera8)
Zena
Круто.
#
Zena
Octane
Спасибо большое :-) Вам тоже побольше читателей) Кстати, первоначально обратил внимание на этот блог из-за дизайна, весьма удачно получился.
Snacke
Неплохая статья спасибо большое.
Олег Владимирович
Про чекбоксы помогло. Огромное спасибо!
онлайн курсы (Олег Владимирович, мы тут не меняемся ссылочками не по теме)
#
Олег Владимирович
Александр
Выбрать все checkbox можно проще $("#id :checkbox") или $(":checkbox"). Прочитал на slyweb.ru
#
Александр
dizelbox
Отличная подборка скриптов. Возьму на заметку пару из них.
gp
Спасибо большое мне оч нравится.
#
gp
Vadyos
недавно создал собственный блог по Jquery. Если кому то будет интересно то вот адрес - vadyos.org.ua
MAKAPOH
3. Количество выбранных элементов

$('element').length;
Васисуарий Хрюкин
Что-то очень умное про jQuery.
Спасибо всем!
#
Васисуарий Хрюкин
internet4life
Спасибо! Просто и понятно описано.

Новый комментарий

как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть

metin2 pvp metin2 pvp serverler pvp serverler