Image Image Image Image Image Image Image Image Image Image

Блог Indigo | 16.06.2019

Наверх

Наверх

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

Полезные jQuery-сниппеты, которые пригодятся разработчику

Полезные jQuery-сниппеты, которые пригодятся разработчику

Библиотека jQuery уже давно стала популярной, и сегодня очень часто применяется на веб-страницах. С помощью jQuery можно получить доступ к любым элементам DOM, обратиться к их содержимому, атрибутам.

Основная причина такой широкой популярности jQuery – это легкость и простота использования. Возможности данной библиотеки очень широки. Но есть определенный набор сниппетов, применяемых регулярно, который обязательно должен быть под рукой.

Некоторые особо востребованные jQuery-сниппеты приведены ниже. Вы можете сохранить их и использовать для работы.

Сделать кнопку активной, если в поле введен текст

$('#login').keyup(function() {
    $('#submit').attr('disabled', !$('#login').val());
 });

Пример: с помощью этого фрагмента кода кнопку авторизации можно будет нажать только в том случае, если пользователь ввел текст в поле Login.

Счетчик символов, которые вводятся в поле

function($) {
    $.fn.extend( {
        limiter: function(limit, elem) {
            $(this).on('keyup focus', function() {
                setCount(this, elem);
            });
            function setCount(src, elem) {
                var letters = src.value.length;
                if (letters > limit) {
                    src.value = src.value.substr(0, limit);
                    letters = limit;
                }
                elem.html( limit - letters );
            }
            setCount($(this)[0], elem);
        }
    });

//чтобы установить счетчик символов, введите необходимое значение:

 var elem = $('#letters');
 $('#text').limiter(128, elem);

Этот сниппет позволяет отобразить оставшееся количество символов, которое пользователь может ввести в заданное поле.
Обратите внимание, что данный фрагмент кода только визуально отображает лимит символов, и не является альтернативой для атрибута maxlength или проверкой на стороне сервера.

Автоформатирование телефонных номеров

$("input[name='phonenumber']").keyup(function() {
    var charslen = this.value.length;
    var charsval = $(this).val();
    if (charslen == 3){
        $("input[name='phonenumber']").val("(" + charsval + ")" + "-");
    } else if (charslen == 9) {
        $("input[name='phonenumber']").val(charsval + "-");
    } else if (charslen == 12) {
        $("input[name='phonenumber']").val(charsval + "-");
    } else if(charslen >=15){
        this.value = this.value.substr(0, 15);
    }
 });

Если вам необходимо, чтобы при вводе телефонного номера в поле phonenumber внешний вид данных автоматически форматировался, используйте этот jQuery-сниппет. С помощью него введенный пользователем номер телефона будет преобразовываться и выглядеть так: (123)-456-78-90. Ограничение количества символов – 15.

Сортировка с помощью jQuery

 var catalog = $('ul');
 var catalogitems = catalog.children('li').get();
 catalogitems.sort(function(a, b) {
    var an = $(a).text().toUpperCase();
    var bn = $(b).text().toUpperCase();
    return (an < bn) ? -1 : (an > bn) ? 1 : 0;
 })
 $.each(catalogitems, function(idx, itm) { catalog.append(itm);
 });

«Зебра» для неупорядоченных списков

 $('li:odd').css('background', '#dfdfdf');

Этот небольшой, но полезный сниппет может значительно облегчить просмотр текста. Добавьте код в ту часть разметки, где необходимо «окрасить» нечетные строки в другой цвет.

Скольжение/затухание

//скольжение:

 $('.btn').click(function() {
    $('.element').slideToggle('normal');
 });

//затухание:

 $('.btn').click(function() {
    $('.element').fadeToggle('normal');
 });

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

Кнопка «Наверх»

 $('a.top').click(function(){
    $(document.body).animate({scrollTop : 0},900);
    return false;
 });

//создание якоря:

<a class="top" href="#">Наверх</a>

Изменяя значение отступа прокрутки scrollTop в данном сниппете, вы можете установить, на какое именно место страницы пользователь будет возвращаться, нажимая на кнопку. Также можно указать время, за которое страница должна прокрутиться. В нашем примере указано 900 мс.

Открыть диалоговое окно печати

 <a href="#" class="print">Печать страницы</a>

 $('a.print').click(function(){
    window.print();
    return false;
 });

Изменение прозрачности с jQuery

 $(document).ready(function(){
    $('.thumbs img').fadeTo('normal', 0.5);
    $('.thumbs img').hover(function(){
        $(this).fadeTo('normal', 1.0);
    },function(){
        $(this).fadeTo('normal', 0.5);
    });
 });

Данный пример показывает, как можно сделать объект полупрозрачным (50%), а при наведении курсора – непрозрачным.

Автоматическая замена/скрытие отсутствующих изображений

//автозамена на изображение по умолчанию:

 $('img').error(function(){
    $(this).attr('src', 'img-default.png');
 });

//скрытие:

 $('img').error(function(){
    $(this).hide();
 });

Конечно, это далеко не все фрагменты jQuery, которые опытные разработчики используют в своем коде. Надеемся, что вышеприведенные полезные примеры скриптов помогут вам в работе не один раз. Желаем творческих успехов!

Оставить комментарий