
За многие годы своего существования, jQuery стал обязательным помощником для каждого веб-разработчика. Сам по себе язык прост в использовании, быстрый и очень мощный. В этой статье, мы продолжим пополненние коллекцию наших jQuery сниппетов, которую мы начали в прошлом году. Данные сниппеты легко адаптировать под ваши личные скрипты. Еще одна статья, которую нужно добавить в закладки!
Плавная прокрутка к началу страницы
Давайте начнем наш список с очень популярного и полезного сниппета. Следующие 4 строки кода, позволят вашим посетителям плавно перейти в начало страницы, просто нажав на ссылку (с #top ID), расположенную в нижней части страницы.
$("a[href='#top']").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});Как клонировать заголовок таблицы в её нижнюю часть.
Для лучшей читаемости таблицы, хорошей идеей будет клонировать заголовок в её нижнюю часть. Вот этот полезный сниппет:
var $tfoot = $('<tfoot></tfoot>');
$($('thead').clone(true, true).children().get().reverse()).each(function(){
$tfoot.append($(this));
});
$tfoot.insertAfter('table thead');Загрузка внешнего контента
Вам нужно добавить какой-то внешний контент в div? Это довольно легко сделать с помощью jQuery, как показано в примере ниже:
$("#content").load("somefile.html", function(response, status, xhr) {
// error handling
if(status == "error") {
$("#content").html("An error occured: " + xhr.status + " " + xhr.statusText);
}
});Колонки одинаковой высоты
Когда вы используете колонки для отображения контента на вашем сайте, то это будет определенно лучше выглядеть, если у колонок равная высота. Приведенный ниже код возьмет все элементы div с классом .col, и подгонит их высоту в соответствии с большим элементом. Супер полезная штука!
var maxheight = 0;
$("div.col").each(function(){
if($(this).height() > maxheight) { maxheight = $(this).height(); }
});
$("div.col").height(maxheight);Частичное обновление страницы
Если вам нужно обновить только часть страницы, тогда следующие 3 строки, безусловно вам помогут. В этом примере #refresh div автоматически обновляется каждые 10 секунд.
setInterval(function() {
$("#refresh").load(location.href+" #refresh>*","");
}, 10000); // milliseconds to waitПредварительная загрузка изображений
jQuery позволяет предварительно загружать изображения в фоновом режиме, чтобы посетителям не приходилось ждать пока изображения отобразятся. Этот код готов к использованию, просто обновите список изображений в строке 8.
$.preloadImages = function() {
for(var i = 0; i<arguments.length; i++) {
$("<img />").attr("src", arguments[i]);
}
}
$(document).ready(function() {
$.preloadImages("hoverimage1.jpg","hoverimage2.jpg");
});Открытие внешних ссылок в новой вкладке/окне
Атрибут target="blank" позволяет принудительное открытие ссылок в новых окнах. В то время как это имеет отношение к открытию внешних ссылок в новой вкладке или окне, ссылки с теми же доменами, определенно должны быть открыты в том же окне.
Следующий код определяет, если ссылка является внешней, и если да, то тогда target="blank" атрибут добавляется к ней.
$('a').each(function() {
var a = new RegExp('/' + window.location.host + '/');
if(!a.test(this.href)) {
$(this).click(function(event) {
event.preventDefault();
event.stopPropagation();
window.open(this.href, '_blank');
});
}
});Div полная ширина/высота окна просмотра (viewport) с помощью jQuery
Данный сниппет позволит вам создать полную ширину/высоту div в соответствии с viewport. Код также обрабатывает изменения размера окна. Отлично подходит для модальных диалогов или всплывающих окон.
// глобальные vars
var winWidth = $(window).width();
var winHeight = $(window).height();
// установка первоначальной div высоты / ширины
$('div').css({
'width': winWidth,
'height': winHeight,
});
// убедитесь, что div остается в полной width/height при изминение размера
$(window).resize(function(){
$('div').css({
'width': winWidth,
'height': winHeight,
});
});Проверить, загрузилось ли изображение
Этот сниппет является лучшим способом узнать, если изображение загружается или нет.
var imgsrc = 'img/image1.png';
$('<img/>').load(function () {
alert('image loaded');
}).error(function () {
alert('error loading image');
}).attr('src', imgsrc);Сортировка списка по алфавиту
В некоторых случаях, сортировка длинных списков в алфавитном порядке, может быть очень полезной. Данный код берет любой список и упорядочивает его элементы в алфавитном порядке.
$(function() {
$.fn.sortList = function() {
var mylist = $(this);
var listitems = $('li', mylist).get();
listitems.sort(function(a, b) {
var compA = $(a).text().toUpperCase();
var compB = $(b).text().toUpperCase();
return (compA < compB) ? -1 : 1;
});
$.each(listitems, function(i, itm) {
mylist.append(itm);
});
}
$("ul#demoOne").sortList();
});Мы уверены, вы найдете им достойное применение в своих новых проектах! Кстати, если вы использовали один из этих сниппетов у себя на сайте – скиньте ссылку в комментариях – мы оценим!
Высоких конверсий!





