Подсветка элементов с помощью jQuery

Довольно распространенная задача – подсвечивать элементы формы. Например, при проверке на корректность заполнения очень неплохо подсветить их и перевести фокус на пропущенные элементы.

Чаще всего для подсветки я выделяю border у элементов как правило красным цветом. Для реализации использую jQuery и классы CSS, если ест такая возможность. Потому тут опишу 2 метода.

1й метод. С помощью класса CSS

Для реализации метода создаю класс .red:

        .red {
            border: #f00 1px solid;
        }

 

С помощью JavaScript добавляю код для добавления класса к элементу. Для примера буду использовать добавление класса и его удаление при нажатии кнопки с ID ‘colorizeBtn’:

$(document).ready(function () {

  var clicked = 0;
  $('#colorizeBtn').click(function() {

    if(clicked%2 == 0) {
        $('input').addClass('red');
    }
    else {
        $('input').removeClass('red');
    }
    clicked++;
  });
});

 

2й метод. С помощью добавления стилей CSS

Этот метод рекомендую использовать только тогда, когда нет возможности подключить CSS класс.

$(document).ready(function () {

  var clicked = 0;
  $('#colorizeBtn').click(function() {

    if(clicked%2 == 0) {
        $('input').css( {
            'border-color': '#f00',
            'border-width' : '1px',
            'border-style' : 'solid'
        });
    }
    else {
        $('input').css( {
            'border-color': '#000',
            'border-width' : '1px',
            'border-style' : 'solid'
        });        
    }
        clicked++;
  });
});

 

Очевидный минус этого метода – нельзя вернуться к первоначальному состоянию элемента, можно только добавить стиль, такой же как у первоначального состояния. Но если спустя какое-то время изменить основной CSS файл, то про этот обработчик вы скорей всего не вспомните. Потому этот метод использовать не рекомендую.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *