Полезные "плюшки" на JavaScript и jQuery

В статье описаны полезные решения на jQuery и JavaScript. Небольшие (по объему кода), но порой довольно важные (для визуального оформления) методы помогут сделать взаимодействие пользователя с вашим сайтом более удобным.

На JavaScript

Текст в строке ввода, который исчезает при клике

Можно использовать, например, для надписи "Поиск" была внутри поля для ввода текста, а при клике мышкой надпись исчезает:

<input type="text" value="Поиск" onblur="if(this.value=='') this.value='Поиск'" onfocus="if(this.value=='Поиск') this.value=''" />

Вывести диалог для подтверждения формы

<input type="submit" onclick="javascript: if (!confirm('Передать данные?')) return false;">

Как определить позицию курсора мыши

Определение координат пользовательского курсора по отношению к странице не так уж и проста. Как правило, различные браузеры по-разному определяют значения некоторых свойств. Универсальное решение:

// Определяем координаты X, Y
function getPosition(e) {
    var posx = 0;
    var posy = 0;
    if (!e) var e = window.event;
    if (e.pageX || e.pageY) {
        posx = e.pageX;
        posy = e.pageY;
    } else if (e.clientX || e.clientY) {
        posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
        posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
   }
   return {
        x: posx,
        y: posy
   }
}

// Определяем координаты по клику мышки
document.addEventListener( "click", function(e) {
    var x = getPosition(e).x;
    var y = getPosition(e).y;
    console.log("x pos: "+ x +" // y pos:"+ y);
});

На jQuery

Загрузка результата php-скрипта в область

$("#button").click(function() {
    $.get("http://site.ru/script.php", {параметр1: значение1}, function(data) {
        $('#aria').html(data);
    });
});

Подсветка при наведении на строку таблицы

$(function() {
    var hL = $('.highlight tr');
    hL.bind('mouseenter', function() {
        $('td', this).addClass('clrhigh');
    });
    hL.bind('mouseleave', function() {
        $('td', this).removeClass('clrhigh');
    });
}

где highlight, это класс таблицы, для которой нужно использовать подсветку строк, а clrhigh - css-класс цвета подсветки:

.clrhigh: {color: red !important}

Для плагинов jQuery

Плагин fancybox - убираем смещение страницы вверх при клике по ссылке

Чтобы при клике по ссылке class="fancybox" непроисходило прокрутки страницы на самый верх (бывает например, когда теги html, body и имеют height: 100%;) используйте параметр:

jQuery(".fancybox").fancybox({
    padding : 0,
    helpers: {
        overlay: {
            locked: false
        }
    }
});

Как перезагрузить страницу с помощью jQuery

$('#something').click(function() {
    location.reload();
});

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


Защитный код
Обновить