Исходники jquery: Как устроен jQuery: изучаем исходники / Habr – jquery/src at master · jquery/jquery · GitHub

Содержание

Фреймворк для простых проектов на jQuery / Habr

Привет Хабр! Хочу поделится своей наработкой. Сразу скажу для каких проектов может быть применима моя библиотека — для статичных страниц, где есть работа с данными из БД через выгрузки/загрузки через AJAX. Допустим, у вас есть простой сайт на какой-нибудь CMS и вам нужно сделать калькулятор исходя из продуктов в БД, затем посчитать стоимость и подкорректировать. Вот это прямо идеальная задача для этой библиотеки.


Преамбула


Я не силен в разработке на javascript, но по работе приходится разбираться и писать хотелки разного рода. Интерфейсы усложняются, код дублируется, дополняется и в итоге получается довольно-таки сумбурная каша без документации и структуры. Нет, нет вы не подумайте. Все начинается безобидно:

— Нужно сделать, чтобы эта таблица сворачивалась.
Прошла неделя.
— Надо, чтобы эти данные подсвечивались столбцам или строками.
Прошла неделя.
— Нужно, чтобы из столбцов рисовались графики, а из строк пользователь потом мог настроить данные для экспорта в таблицу.
Прошла неделя.
— Нужно то, что мы сделали, скопировать в страницу назначений прав и данные поменять на пользователей и группы и немного изменить логику работы.

И так далее. Более 2 лет это копилось, копилось и копилось. Переводить на какой то фреймворк проект не дают, по той простой причине — придется изучать его всей команде. А ни я, ни они не уверены в том, что мы потратим на его изучение время, а потом он нигде не пригодится.

Фабула


Я начал писать прослойку для облечения работы с объектами из базы данных. Создание новых элементов для вставки, удаление, фильтрация.Пример модели пользователя
new Model( 'User' ,{
  'name' : {
    type : 'string',
    def : 'noname',
    iskey : true
  },
  'lastname' : {
    type : 'string'
  }
})
new User({name:'Вася' , 'lastname' : 'Пупкин'})

Первым аргументом передается название модели, которое впоследствии станет глобальной переменной.
Вторым — объект с набором свойств модели и описанием этих свойств.Связь моделей
new Model( 'User' ,{
  'name' : {
    type : 'string',
    def : 'noname',
    iskey : true
  },
  'lastname' : {
    type : 'string'
  }
})

new Model( 'Group' ,{
  'name' : {
    type : 'string',
    def : 'noname',
    iskey : true
  }
})


new Model( 'UserInGroup' ,{
  'user' : {
    type : function(_name){
     return new User({name:_name})
    },
  'group' : {
    type : function(_name){
     return new Group({name:_name})
    },
  }
  }
})
new User({name:'Вася' , 'lastname' : 'Пупкин'})
new Group({name:'usergroup'})
var a = new UserInGroup({ user : 'Вася' , group : 'usergroup' })

console.log( a )
/*
 user : Object
   name
   lastname
 group : Object
    name
*/

Связи объектов с объектами — это ссылки на кеш TObject._cache.

Из описаний свойств могу отметить пока 3 — iskey, type, isfrooze.

iskey — используется для создания уникального ключа у объекта в кеше. Если он один, то к объекту можно обратится через метод id, заранее зная его ключ.

Пример
new Model( 'User' ,{
  'name' : {
    type : 'string',
    def : 'noname',
    iskey : true
  },
  'lastname' : {
    type : 'string'
  }
})
new User({name:'Вася' , 'lastname' : 'Пупкин'})
User.id('Вася')

type — типы значений. Пока их несколько — bool, int, string, function. Последнее используется для связывания объектов. Планируется создание собственных.

isfrooze — свойство, которое при заполнении больше не меняется. Это сделано на случай, если вы боитесь нечаянно поменять свойство.

Есть несколько свойств моделей. all — выгрузка всех объектов:

User.all() // return [ Object , Object]

find({ property: value }) — выгрузка всех оюъектов подходящих по правило:
User.find({name:'Vasya'}) // return [ Object ]

id( ident ) — выгрузка одного объекта по заданному ключу:
User.id(10) // return Object

Для двусторонней связи DOM и объектов создан метод jQuery jsdata, аналогичный data, но он связывает объект с DOM. Получить связь можно через метод модели getDOM:
$('<div/>').addClass('test').jsdata('model' , User.id(10))
User.id(10).getDOM('model') // return DOM
$('<div/>').jsata('model') // return Object

» Ссылка на проект

Буду рад конструктивной критике.

Встречайте 20 свежих и совершенно бесплатных JQuery плагинов для Ваших веб - сайтов

Здравствуйте, дорогие читатели блога beloweb.ru. В этот день я снова спешу представить Вам свежую и удивительную подборку JQuery плагинов, так сказать, на все случаи жизни 🙂 Здесь Вы найдёте простую рисовалку (возможно кому то и пригодится), а так же формы регистрации, портфолио, слайдеры и т.д. В общем хочу Вас уверить, что скучать не придётся.

Напоминая, что все плагины имеют примеры, и доступны для скачивания по прямым ссылкам, а также рекомендую посмотреть прошлые подборки:

Простая рисовалка с плагином Node.js

Пример ι Скачать исходники

Форма входа с помощью Гугл

Эта форма позволяет зайти на сайт с помощью аккаунта Гугл.

Пример ι Скачать исходники

Замечательная форма регистрации с метром паролей

Отличная реализация формы с метром, который показывает безопасный ли пароль.

Пример ι Скачать исходники

Классный JQuery плагин портфолио

Пример ι Скачать исходники

Ещё одно портфолио с использованием JQuery

Очень клёвое портфолио с временной шкалой, отличная задумка и реализация.

Пример ι Скачать исходники

Просмотр фото с эффектом JQuery перелистывания

Пример ι Скачать исходники

Реализация вопросов на странице с JQuery и MySQL

Очень классная реализация вопросов с возможность пользователям отвечать на них.

Пример ι Скачать исходники

Красивый и простой таймер с использованием JQuery

Пример ι Скачать исходники

Красивая реализация показа Ваших твитов

Пример ι Скачать исходники

Классная система — Твитни, чтобы загрузить

Ну просто удивительная задумка. Для того чтобы кнопка на загрузку стала активной, нужно твитнуть данный пост.

Пример ι Скачать исходники

JQuery слайдер с эффектом затвора фотокамеры

Пример ι Скачать исходники

JQuery слайдер с круговым перелистыванием

Пример ι Скачать исходники

Полноекранная горизонтальная и плавная прокрутка

Пример ι Скачать исходники

Красивый Гугл поиск для сайта с JQuery

Очень красивая реализация поиска для сайта от Гугл

Пример ι Скачать исходники

Замечательная и анимационная страница ошибки 404

Пример ι Скачать исходники

Счётчик кликов

Этот счётчик показывает число кликов пользователей

Пример ι Скачать исходники

JQuery плагин простых и красивых всплывающих подсказок

Пример ι Скачать исходники

Всплывающая JQuery подсказка при клике на кнопку

Пример ι Скачать исходники

Красивая реализация для баннеров на Вашей странице

Пример ι Скачать исходники

Большая стенка для спонсоров

Пример ι Скачать исходники

Подборка на сайт JQuery css плагинов

Доброго времени суток, дорогие читатели блога beloweb.ru. Сегодня хочу представить Вам не большую полезную подборку css и JQuery плагинов. В этом посте Вы найдёте свежие решения оформления для Вашего проекта, а именно меню, галереи и ещё много различных эффектов. И так, поехали:

1. Необычный и красивый JQuery слайдер

Красивое оформление слайдера, очень не обычно меняются изображения. Этот слайдер прост в оформлении и установке, и подойдёт практически для любого сайта.

Слайдер

Пример ι Скачать исходники

2. Сайта-портфолио. Очень красивое портфолио с использованием JQuery.

Не обычная реализация сайта-портфолио, сделанный в чёрно белом оформлении. Особенно понравилось то, что фото показываются в фоновом изображении.

Портфолио

Пример ι Скачать исходники

3. Красивая галерея на JQuery

Стильная галерея с использованием JQuery. Также присутствует автоматические изменение изображений. В примере нажмите на кнопку Show Gallery в нижнем левом углу браузера.

Галерея

Пример ι Скачать исходники

4. Подгрузка изображений для Вашего сайта, с применением JQuery технологий

Ещё один JQuery плагин, который сделает Ваш сайт более современным.

Подгрузка изображений

Пример ι Скачать исходники

5. Продвинутое меню с выпадающими блоками с использованием  JQuery и CSS3

Очень эффективное, многофункциональное и стильное JQuery меню для Вашего любимого сайта.

Меню

Пример ι Скачать исходники

6. Интересный плагин «До и После»

JQuery плагин, который показывает изображение до и после обработки.

Плагин До и после

Пример ι Скачать исходники

7. Поле поиска с применением JQuery

Анимационное поле для поиска для сайта. Понравилось то, что кнопка «Поиск» (она в виде лупы) появляется после написания текст в поле.

Поле поиска

Пример ι Скачать исходники

8. Отличный JQuery плагин для показа слайдов.

Не плохой плагин для показа изображений на сайте.

Слайды плагин

Пример ι Скачать исходники

9. Красивый и не сложный слайдер для сайта.

Отличный слайдер, с применением JQuery, который отлично будет выглядеть на Вашем сайте.

Пример ι Скачать исходники

10. Ещё одна замечательная галерея.

Галерея

Пример ι Скачать исходники

Думаю пока на сегодня хватит. Скоро появятся новые примеры и исходники JQuery плагинов, но это у же в следующих постах. Надеюсь Вам понравилось.

Всем прелестного настроения. С ув. Александр.

Библиотека JQuery 2.x

Как и обещалось, эта версия оставляет позади старые браузеры Internet Explorer 6, 7, и 8. Но, в то же время, она меньше, быстрее, и может использоваться в средах, где JavaScript код, необходимый для обеспечения совместимости старых IE, часто вызывает проблемы в самом себе.

Однако пользователям волноваться не стоит, поскольку разработчики JQuery все еще поддерживают версию библиотеки 1.х, которая работает и в IE 6/7/8. Следует продолжать пользоваться jQuery 1.9 (и следующей – 1.10) на сайтах, где нужна поддержка старых браузеров.

http://coderhs.com
Если переход на версию 2.х осуществляется с версии ниже 1.9, то рекомендуется использовать Плагин Миграции и прочитать "Руководство по апгрейду" к версии JQuery 1.9, поскольку там содержится много новой информации по изменениям. Использовать плагин просто, просто вставьте его в HTML страницу после jQuery и запустите браузер, чтобы увидеть генерируемые им сообщения:

<script src="http://code.jquery.com/jquery-2.0.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>

Применение:

jQuery 2.0 предназначена для современного вэба; версия jQuery 1.x, работающая со старыми браузерами, будет поддерживаться еще несколько лет. При желании можно организовать работу 2.0 на новых браузерах, и 1.х на старых,

<!--[if lt IE 9]>
    <script src="jquery-1.9.1.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0b2.js"></script>
<!--<![endif]-->

хотя этого не требуется — проще использовать на сайтах jQuery 1.x, поскольку она работает во всех браузерах.

В jQuery 2.0 есть несколько моментов, которые больше не будут поддерживаться в 1.х, поскольку 2.х является гораздо лучшим выбором. Это относится, как правило, к сценариям не для вэб сайтов, которые предназначены для поддержки старых IE, что сейчас уже не актуально. А именно:

    Google Chrome add-ons
    Mozilla XUL apps и Firefox extensions
    Firefox OS apps
    Chrome OS apps
    Windows 8 Store (“Modern/Metro UI”) apps
    BlackBerry 10 WebWorks apps
    PhoneGap/Cordova apps
    Apple UIWebView class
    Microsoft WebBrowser control
    node.js (объединено с jsdom или подобным)

Многие из этих сценариев/дополнений продолжают дорабатываться и содержать свои собственные наборы правил или ограничений, которые отличаются от используемых на интернет сайтах при подключении jQuery.

Некоторые существенные изменения в 2.0

IE 6/7/8 больше не поддерживаются: помните, что под это может попасть IE9 и даже IE10, если они используются в режиме совместимости со старыми версиями. Для избежания этого рекомендуется всегда использовать

X-UA-Compatible тэг или HTTP заголовок. Если есть возможность использования HTTP заголовка, то это несколько лучше для производительности, поскольку позволяет избежать потенциального рестарта парсера браузера.

Уменьшенный размер: файл 2.0 на 12% меньше 1.9.1, благодаря отсутствию требуемых только IE 6, 7, и 8 патчей. Можно было бы еще сократить код и улучшить производительность, но старые Android/WebKit 2.x браузеры сейчас самое слабое звено. В настоящее время проводится работа по отслеживанию рынка Android 2.x, с целью определения возможности обеспечения совместимости и полагается, что это не займет много времени.

Теперь можно исключить комбинации включения 12 разных модулей для создания пользовательской версии библиотеки, и она при этом будет даже меньше. Новый минималистический движок селекторов, основанный на тонкой обертке querySelectorAll API браузера, позволяет уменьшить размер до менее, чем 10KB, в минимизированном и gzippированном формате. Читайте об этом в README и помните, что любые плагины, используемые вами, должны быть включены в подмножество выбора вашей сборки библиотеки.

jQuery 1.9 API эквивалентность: jQuery 2.0 is API-совместим с 1.9, что означает, что все изменения, задокументированные в jQuery 1.9 "Руководстве по апгрейду", так же относятся и к jQuery 2.0. Если вы еще не обновились до jQuery 1.9, может быть, стоит попробовать ее сначала. Не забудьте при этом воспользоваться Плагином Миграции .

  • В исходник включены полная и min версии библиотеки jQuery 2.0

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

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