Быстрая разработка веб-интерфейсов на JavaScript Георгий Калашников Заседание #000012.

Презентация:



Advertisements
Похожие презентации
JQuery Присяжний Дмитро MCP, MSP
Advertisements

Drupal Camp Minsk Возможность изменения только одной области Нет инструментов, позволяющих загрузить css или js динамически Механизм по перезагрузке.
Ненавязчивый Unobtrusive JavaScript Сергеев Алексей «Открытые Веб-Технологии»
jQuery jQuery библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу.
AJAX 1. AJAX изнутри 2. Фреймворк JQuery 3. Формирование и разбор данных в формате XML 4. Передача данных в формате JSON 5. Селекторы 6. Фреймворки JForm.
JavaScript и доступность веб- сайтов Владимир Агафонкин.
Лекция 8 Обработка событий. Примеры привязки обработчиков событий Привязка с помощью атрибута обработчика: ; Информация о модели DOM консорциума W3C Привязка.
Работа с DOM-моделью и пользовательский интерфейс По материалам курса University of Washington
CSS Cascading Style Sheets среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.
JavaScript Объекты документа Объект History Свойства: current next previous length.
Формы в HTML. Элемент FORM Элемент уровня «блок» Управляющие элементы Просто текст Атрибуты: action – url обработчика method – post или get enctype –
JavaScript Александр Березневатый, Senior Java Developer & Team Lead.
Кратко о jQuery. История jQuery января первый анонс о создании библиотеки 26 августа jQuery января jQuery сентября jQuery 1.2.
Реализовать web интерфейс системы, обеспечивающей: добавление проектов; добавление тестов в проект; запуск теста и визуализация результата; просмотр ранее.
Графические интерфейсы пакет Tkinter. import Tkinter from Tkinter import *
Программирование в Mozilla По материалам сайта. Добавление Javascript в XUL-страницы Добавление страниц с текстом на Javascript происходит точно так же,
CSS Cascading Style Sheets. Типы стилей: 1. Стиль браузера 2. Стиль автора 3. Стиль пользователя.
«Центр Разработки и Внедрения Террасофт Поволжье» JS/ExtJS или как сломать мозг программисту C#
S5-1 PAT328, Section 5, September 2004 Copyright 2004 MSC.Software Corporation SECTION 5 RESULTS TITLE EDITOR.
Lesson 3 - HTML Formatting. Text Formatting Tags TagDescription Defines bold text Defines big text Defines emphasized text Defines italic text Defines.
Транксрипт:

Быстрая разработка веб-интерфейсов на JavaScript Георгий Калашников Заседание #000012

Зачем это и с чего всё началось? –Сложность непосредственной работы с DOM –Избыточность классического JS-кода –Кроссбраузерность

Holly Wars Prototype/Scriptaculous (> 200Kb) Mootools Dojo

jQuery 54.5 KB [15KB packed] CSS 1-3 и немного XPath IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+ Огромное сообщество Доступная документация Лёгкая расширяемость (1441 плагин)

$ $(селектор, [контекст]) $(HTML) $(document | window | form) $(function)

$(document).ready() window.onload = myOnloadHandler; $(document). ready (myInitFunction); function myInitFunction() { $(body). append( $( Hi, folks! ) ); } MyScript.js

Селекторы #id tag.class * selector1, selector2, …, selectorN предок потомок отец > сын пред + след пред ~ все след [атрибут] [атрибут = значение] [атрибут != | *= | ^= | $= значение] [][]…[][]

[Селектор] :фильтр :first /last :not(селектор) :even /odd :eq(ind) /gt /lt/ :header :contains(текс т) :empty лист :hidden /visible :input :text :button :enabled :checked :selected :contains(текс т) :empty …

Ещё раз о $ eq( index ) filter ( выражение | function ) slice ( from, [to] ) get( index ) length OMG это массив!

Цепные вызовы chaining $(div). children(). hide(). end(). addClass(c);

Долой унылые методы манипуляции с DOM! html ( ) html ( val ) text ( ) text ( val ) append ( content ) appendTo ( selector ) prepend ( content ) prependTo ( selector ) after ( content ) before ( content ) insertAfter ( content ) insertBefore ( content ) replaceWith ( content ) replaceAll ( selector ) empty ( ) remove ( expr ) wrap ( html | elem ) wrapAll ( html | elem ) wrapInner ( html | elem ) clone ( [true] )

картинка для привлечения внимания

События bind( type, data, fn ) one( type, data, fn ) trigger( type, data ) triggerHandler( type, data ) unbind( type, fn )

События плюшки! hover ( over, out ) toggle ( [fn1, fn2, …, fnN] ) click ( [fn] ) dbclick ( [fn] ) resize ( fn ) mouseover ( fn ) keypress ( [fn] ) blur( fn ) change( fn ) error( fn ) focus( ) focus( fn ) keydown( fn ) keypress( fn ) keyup( fn ) load( fn ) mousedown( fn ) mousemove( fn ) mouseout( fn ) mouseover( fn ) mouseup( fn ) resize( fn ) scroll( fn ) select( fn ) submit( fn ) unload( fn )

События preventDefault $(a). click ( myClickHandler ); function myClickHandler ( event ) { // Перехода по ссылке не будет event.preventDefault(); $( this ). hide(); }

$.ajax();

АЙ-АЙ $.ajax ( { } ).load ( url, [data], [callback]) $.get ( url, [data], [callback], [type]) $.getJSON( url, [data], [callback]) $.post( url, [data], [callback], [type]) + события ajaxError ( callback )

Эффекты и анимация show / hide ( [speed], [callback] ) toggle () slideUp /slideDown /slideToggle (speed, [clbk]) fadeIn / fadeOut(s, [cb]) / fadeTo(s, o, [cb]) animate() stop() queue() / dequeue()

Plugins свой плагин ( function($) { $. fn. myPlugin = function() { return this.each(function() { /* Пыщ!*/ }); }; })(jQuery); Пример гов плохого кода

Plugins свой плагин 2 (function($) { $.fn.myPlugin = myPlugin; })(jQuery); function myPlugin($) { return this.each(myPluginWithEach); } function myPluginWithEach() { $(this).hide(); }

Plugins готовенькое

Ссылки

Да прибудет с вами сила jQuery! om