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/