Категории: JavaScript

jQuery + плагины: сортировка и редактирование списка

Владимир | | Ajax, HTML, JavaScript, PHP, Web разработка.

jquery sortable

Довольно давно я написал статью о том, как с помощью библиотек Prototype и Scriptaculous добавить возможность редактирования и удаления записей обычному html списку (вообще-то это был цикл статей 1, 2, 3, 4, 5).

С тех пор несколько читателей просили доработать пример и добавить возможность сортировки записей.

Переделывать тот пример я не буду, т.к. Prototype сейчас практически не использую, лучше покажу, как решить задачу с помощью jQuery.

Сформулируем требования.

Необходимо создать html список с возможностями:

— изменение записей;
— удаление записей;
— изменение порядка записей.

Кроме того, необходимо предусмотреть возможность создания новых записей.
Читать дальше

Drag & Drop с использованием jQuery UI

Владимир | | HTML, JavaScript, Web разработка.

jquery ui drag drop

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

До сих пор часто требуется поддержка IE6, а перетаскивание объектов, о котором шла речь, не работает даже в IE8, и неизвестно, будет ли работать в девятой версии самого распространённого браузера. Рассчитывать же на то, что все пользователи вдруг откажутся от IE по-моему очень оптимистично.

В любом случае, решать сегодняшние задачи приходится доступными средствами. Это означает, что если вы не используете библиотек, то для перетаскивания объектов нужно создавать обработчики событий mousedown, mousemove и mouseup. Ничего запредельно сложного, но занятие это совсем не увлекательное. Поэтому, на мой взгляд, лучше использовать какую-нибудь библиотеку, например, jQuery UI.
Читать дальше

Drag & Drop с использованием HTML5

Владимир | | HTML, JavaScript, Web разработка.

html5 drag drop

К сожалению, на сегодняшний день использовать HTML5 довольно сложно. Стандарт в состоянии разработки и далеко не все браузеры поддерживают его возможности. Тем не менее, интересных нововведений в нём много и о них полезно знать. Поэтому сегодня я расскажу о моих экспериментах с перетаскиванием объектов (Drag & Drop).

Хочу предупредить. Приведённый ниже код работает в последних версиях Firefox и Google Chrome, в IE8 и Opera поддержка этих возможностей отсутствует.

Сразу даю ссылки на демонстрационную страничку и архив с примером.

Source

Чтобы просто разобраться с принципом работы D&D я решил сделать страничку с текстовыми блоками, которые можно будет перетаскивать из одного контейнера в другой.
Читать дальше

Плавающий виджет. Версия 2.

Владимир | | CSS, HTML, JavaScript, Web разработка.

floating panel logo

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

Сразу приведу ссылку на архив с новой версией.

Source

Изменения и новые возможности
Читать дальше

jQuery плагин: плавающий виджет с кнопками

Владимир | | CSS, HTML, JavaScript, Web разработка.

twitter button

Приветствую всех!

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

UPD. Эта информация устарела, т.к. появилась новая версия плагина.

Идею плагина я позаимствовал на очень популярном блоге Mashable. Если вы откроете любую их статью, то слева от текста увидите небольшую панель с кнопками социальных сетей. Самое главное в том, что при прокрутке страницы, эта панель смещается вниз и кнопки видны постоянно.

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

Возвращаемся к плагину.
Читать дальше

jQuery плагин: создаём виджет для сообщений из списков twitter’а

Владимир | | Ajax, HTML, JavaScript, Web разработка.

jquery twitter widget

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

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

Сделать это несложно. Добавляем подходящие twitter-ленты в отдельный список и публикуем его ленту. В этой статье я покажу, как создать такой виджет с помощью JavaScript.

Сразу даю ссылки на пример и архив с исходниками.
Читать дальше

Использование jqGrid вместе с Yii фреймворком

Владимир | | Ajax, JavaScript, PHP, Web разработка, Yii.

yii php jqgrid

Приветствую всех!

В этой статье речь пойдёт о том как использовать Yii PHP framework и плагин к jQuery под названием jqGrid. Я не буду повторяться и рассказывать о том, что из себя представляют Yii и jqGrid и зачем они нужны. Вы легко найдёте все мои заметки на эту тему с помощью поиска по блогу 😉 (кстати, все статьи о Yii вынесены в отдельный раздел).

Когда я проводил этот эксперимент, меня интересовали два момента:

1) подключение jgGrid;

2) преобразование данных, полученных с помощью CActiveDataProvider в формат понятный для jgGrid.

С первым пунктом всё более-менее понятно. jqGrid представляет собой набор JS и CSS файлов, которые нужно подключить к странице.
Читать дальше

Yii фреймворк: создание кнопок с помощью CButtonColumn

Владимир | | Ajax, JavaScript, PHP, Web разработка, Yii.

yii php CButtonColumn

Тему этого поста подсказал мне читатель по имени Alex, за что ему большое спасибо.

Речь о компонентах zii, которые, начиная с версии 1.1, входят в состав фреймворка, и активно используются утилитой yiic при генерации кода.

К сожалению, документация по этим компонентам есть только в виде API (комментарии к исходникам) и её явно недостаточно.

Ситуация следующая. Если вас полностью устраивает код, который генерирует yiic — никаких проблем. Но вот что-то изменить или добавить какие-нибудь возможности уже сложнее.
Читать дальше

JavaScript без задержек

Владимир | | Ajax, JavaScript, Web разработка.

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

Я как-то путано рассказываю 🙂 , на самом деле все довольно просто.

Недавно на почтовом сервере ukr.net (в web интерфейсе) я заметил довольно неприятный баг. Загружается web интерфейс, я кликаю по письму и вместо сообщения «Загрузка данных…» вижу «Для просмотра письма включите поддержку JavaScript в браузере и перезагрузите страницу».

Естественно, я точно знаю, что JavaScript у меня включен и перезагружать ничего не стал. Через две-три секунды сообщение исчезло и на его месте появилось письмо.

Работу скриптов ukr.net я анализировать не стал, но в общем-то о причине можно догадаться. Скорее всего, возникла задержка при загрузке JS файла со скриптом, который должен изменять «Включите JS…» на «Загрузка данных..».

Раньше я этот момент не замечал, но у меня нет ограничений по скорости на UA-IX трафик, да и сам ukr.net стабильно работает.

Тем не менее, проблема со скоростью загрузки существует и касается всех, а не только крупных порталов.

Рассмотрим реальную ситуацию.
Читать дальше

jqGrid, форма с автозавершением и поиск

Владимир | | Ajax, JavaScript, Web разработка.

Сегодня будет еще один небольшой пример работы с jqGrid. Я покажу каким образом можно заполнить форму поиска значениями по-умолчанию.

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

Схема простая и удобная, но ее может оказаться не достатчно если нужно проводить поиск одновременно по нескольким полям.

Поэтому мы немного усовершенствуем пример. После выбора значения в поле с автозаполнением мы откроем форму поиска и в неё вставим выбранное значение. Таким образом, если пользователю будет нужно добавить другие условия, он сможет это сделать.
Читать дальше