Статьи

10 советов по улучшению вашего jQuery

JQuery есть практически везде, его можно найти на известных веб-сайтах, доступных сегодня, включая сайты социальных сетей, микроблоги и т. Д. JQuery действительно крутой и очень полезный, но иногда лучше увидеть другой аромат или другую сторону. Или возможно сделать улучшения для этого.

Улучшение jQuery сделает ваш сайт более быстрым и сделает схожие вещи, которые помогут вам выделиться. Это может включать скрипт jQuery или код через коды Google и тому подобное. Как я уже сказал, лучше всего улучшить или отредактировать плагин или синтаксис jQuery, которые будут использоваться вашим сайтом, чтобы сделать его более заметным.

У меня есть список из десяти советов по улучшению вашего jQuery.

1. Ярлык для события «Готово»

Вы устали печатать это?

$(document).ready(function (){
		// your code
	});

Ну, вы можете сделать ярлык для него, попробуйте это:

 $(function (){
		// your code
	});

2. Проверка элемента

Не забудьте проверить, действительно ли элемент существует на странице, прежде чем манипулировать им. Используйте этот простой, но не очевидный код:

 if ($('#myDiv).length) {
		// your code
	}

3. Правильно переименуйте ваш объект jQuery при использовании другого фреймворка

Используйте функцию jQuery noconflict (), чтобы получить контроль над $ back и позволить себе установить собственное имя переменной.

 var $j = jQuery.noConflict();
	$j('#myDiv').hide();

4. Сжатие ваших jQuery-скриптов

Большой проект, вероятно, также подразумевает много использования плагинов jQuery. Но имейте в виду, что это может замедлить вашу страницу, поэтому вам следует сжать все ваши jQuery с помощью Packer от Dean Edwards. Это веб-компрессор javascript.

5. Минимизируйте манипуляцию DOM

Операции вставки DOM, такие как .prepend () .append () .wrap () и .after () действительно замедляют процесс. Вы могли бы делать коды быстрее; все, что вам нужно сделать, это создать список с помощью конкатенации, а затем один раз использовать функцию, чтобы добавить их в список, который не упорядочен, как .html (), гораздо быстрее.

Пример:

 var myList = $('#myList');

	for (i=0; i<1000; i++){
		myList.append('This is list item ' + i);
	}
	That example is relatively slow, but if you build the list item as a string and use the html method to do the insertion. You might want to try the following instead:
	Example:
	var myList = $('.myList');
	var myListItems = '';

	for (i = 0; i This is list item ' + i + '';
	}

	myList.html(myListItems);

Это заставило бы страницу загружаться быстрее!

6. Дайте контекст для ваших селекторов

Обычно, если вы используете селектор типа $ (‘. MyDiv’), DOM определенно будет проходить, что зависит от того, какая страница может быть дорогой.
Выполнение выбора заставит jQuery принять второй параметр.
JQuery (выражение, контекст)
Поместив контекст в один селектор, вы бы дали этому селектору элемент для начала, чтобы он не проходил через весь DOM.

Перед:

 var selectedItem = $('#listItem' + i);

После:

 var selectedItem = $('#listItem' + i, $('.myList'));

Это должно ускорить процесс!

7. Правильное использование анимации

Анимация — основная сила jQuery. Это действительно круто и обеспечивает очень эффектный эффект.
Метод jQuery .animate () очень прост в использовании и эффективен. Если вы посмотрите на коды внутри, эти методы просто сокращены и используют функцию .animate ().

Пример:

 slideDown: function(speed,callback){
		return this.animate({height: "show"}, speed, callback);
	},

	fadeIn: function(speed, callback){
		return this.animate({opacity: "show"}, speed, callback);
	}

Функция animate () просто изменяет свойства CSS элемента, такие как высота, ширина, цвет, прозрачность, цвет фона и т. Д.

Пример:

 $('#myList li').mouseover(function() {
		$(this).animate({"height": 100}, "slow");
	});

В отличие от других функций jQuery, анимация автоматически ставится в очередь. Если вы хотите выполнить другую анимацию после завершения первой анимации, просто дважды вызовите метод animate.
Пример:

 $('#myBox').mouseover(function() {
		$(this).animate({ "width": 200 }, "slow");
		$(this).animate({"height": 200}, "slow");
	});

Если вы хотите несколько анимаций, сделайте это так:

 $('#myBox').mouseover(function() {
		$(this).animate({ "width": 200, "height": 200 }, "slow");
	});

8. Сделайте свои собственные селекторы

В jQuery есть много встроенных селекторов для выбора элементов по идентификатору, тегу, атрибуту и ​​многим другим. Но что бы вы сделали, если вам нужно выбрать элементы, основанные на чем-то другом, где jQuery не имеет селектора.
Вероятно, вы бы добавили классы в lements с самого начала и использовали их для их выбора. Но он превосходит цель простоты расширения jQuery для добавления новых селекторов.

Пример:

 $.extend($.expr[':'], {
		over100pixels: function(a) {
			return $(a).height() > 100;
		}
	});
 $('.box:over100pixels').click(function() {
		alert('The element you clicked is over 100 pixels high');
	});

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

9. Ускорьте загрузку контента для преимуществ SEO

Если вы думаете, что, если вы аккуратнете свой HTML-код, это заставит вашу страницу загружаться быстрее. Вы правы, поисковые пауки слишком ленивы, чтобы загрузить весь код с помощью AJAX-запроса после загрузки остальной части страницы. Пользователь может начать просмотр прямо сейчас, а пауки видят только контент, который вы хотите проиндексировать.

Пример:

 $('#forms').load('content/headerForms.html', function() {
		// Code here runs once the content has loaded
		// Put all your event handlers etc. here.
	});

10. Используйте CHEAT SHEET

Устали от советов jQuery? Вот несколько отличных шпаргалок, доступных для большинства языков! Это печатные функции jQuery на листе А4 для справки.

http://www.gscottolson.com/weblog/2008/01/11/jquery-cheat-sheet/
http://colorcharge.com/jquery/