7 полезных советов для улучшения jQuery кода Javascript


Оглавление (нажмите, чтобы открыть):

7 полезных советов для улучшения jQuery кода Javascript

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

Дизайн лендинга

Создавайте дизайн любых сайтов — для себя и на заказ!

Популярное

  • Главная
  • ->
  • Материалы
  • ->
  • JavaScript без jQuery: 10 советов

Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Бесплатный Курс «Практика HTML5 и CSS3»

Освойте бесплатно пошаговый видеокурс

по основам адаптивной верстки

на HTML5 и CSS3 с полного нуля.

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

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

Верстайте на заказ и получайте деньги.

Что нужно знать для создания PHP-сайтов?

Ответ здесь. Только самое важное и полезное для начинающего веб-разработчика.

Узнайте, как создавать качественные сайты на PHP всего за 2 часа и 27 минут!

Создайте свой сайт за 3 часа и 30 минут.

После просмотра данного видеокурса у Вас на компьютере будет готовый к использованию сайт, который Вы сделали сами.

Вам останется лишь наполнить его нужной информацией и изменить дизайн (по желанию).

Изучите основы HTML и CSS менее чем за 4 часа.

После просмотра данного видеокурса Вы перестанете с ужасом смотреть на HTML-код и будете понимать, как он работает.

Вы сможете создать свои первые HTML-страницы и придать им нужный вид с помощью CSS.

Бесплатный курс «Сайт на WordPress»

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

Хотите изучить JavaScript, но не знаете, как подступиться?

После прохождения видеокурса Вы освоите базовые моменты работы с JavaScript.

Развеются мифы о сложности работы с этим языком, и Вы будете готовы изучать JavaScript на более серьезном уровне.

*Наведите курсор мыши для приостановки прокрутки.

JavaScript без jQuery: 10 советов

jQuery – отличная библиотека! Она пришла к нам в те времена, когда браузер IE6 был браузером номер один. В те времена было много сложностей и препятствий при работе с браузерами, что делало работу более чем утомительной. В такой ситуации библиотека jQuery была отличным инструментом чтобы добиться кроссбраузерности сайта.

С тех пор браузеры ушли далеко вперёд, что определённо развязывает нам руки при написании кода. Мы можем комфортно использовать все преимущества предоставляемые ES5, а так же в нашем арсенале есть наикрутейший HTML5 APIs, который значительно упрощает работу с DOM.

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

Не поймите меня неправильно – jQuery по прежнему остаётся отличной библиотекой, и в большинстве случаев вам действительно нужно будет использовать её. Тем не менее, для каких-то простых и маленьких вещей, вроде простой страницы с ограниченным JavaScript-взаимодействием, расширения для браузеров или мобильных сайтов, вы можете использовать чистый JS.

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

1. Ожидание готовности документа (Document Ready)

Правило номер 1: когда вы пишете код на jQuery, возьмите себе в привычку оборачивать его в $(document).ready(). Так вы всегда будете уверены что ваш документ и его DOM-структура полностью готовы для дальнейших манипуляций.

Без jQuery, вместо $(document).ready() можем использовать document.addEventListener(‘DOMContentLoaded’). Вот как это выглядит:

2. Выборка элементов

Раньше для выборки элементов мы могли полагаться лишь на id , class и имена тегов и jQuery для нас с вами был чем-то вроде спасателя, так как позволял осуществлять сложные выборки по селекторам CSS. С тех пор браузеры поймали эту фишку и ввели два важнейших API-метода — querySelector и querySelectorAll:

3. Добавление и удаление отслеживания событий

Отслеживание событий – это фундаментальная вещь при создании любых веб-приложений. Раньше существовало два основных лагеря, которые подходили к вопросу отслеживания событий по-разному: это IE и все остальные. Однако сегодня мы просто используем addEventListener:

4. Управление классами и атрибутами

Раньше управление классами и атрибутами элементов без jQuery было довольно неудобно. Однако всё изменилось с появлением свойства classList. И если вам нужно поуправлять атрибутами, то всё что вам нужно — это задать атрибут setAttribute

5. Получение и задание контента элемента.

Для этого в jQuery есть удобные методы text() и html(). Но вы так же можете использовать методы textContent и innerHTML эти методы уже достаточно давно существуют на чистом JS.

6. Вставка и удаление элементов

Несмотря на то, что на jQuery это делается несколько проще, добавление или удаление DOM-элементов не является непосильной задачей для JavaScript. Вот как это делается на JS:

7. Проход по дереву элементов структуры DOM

Настоящие JS-джедаи знают, как много всего бывает спрятано в DOM. В сравнении с jQuery, обычное API DOM ограничено в функциональности при выборке родительских а также братских/сестринских элементов. Так или иначе, в вашем кармане есть множество различных способов, чтобы сверху донизу пройтись по DOM-дереву.

8. Обработка массивов

Некоторые из служебных методов, которые обеспечивает jQuery, теперь доступны с появлением ES5-стандартов. Для множественных ассоциативных массивов мы можем использовать forEach и map вместо их jQuery-аналогов each() и map(). Вот только будьте внимательны, есть между ними определённые отличия в аргументах и в возвращаемом по умолчанию значении this.

9. Анимация

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

Однако, благодаря чудесам современных CSS3-свойств, мы можем без проблем создать свою простейшую анимацию либо использовать специальные CSS-библиотеки как например Animate.css, позволяющую создавать и запускать анимации, просто добавляя или удаляя классы к тем или иным элементам страницы.

10. AJAX

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

Но не всё так гладко и цветочно, как хотелось бы, AJAX-запросы написанные с XMLHttpRequest всё ещё остаются довольно громоздкими, поэтому лучше бы их оставить на совесть библиотек.

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

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

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

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

Материал подготовил Денис Малышок специально для сайта CodeHarmony.ru

P.S. Присмотритесь к премиум-урокам по различным аспектам сайтостроения, включая JavaScript, jQuery и Ajax, а также к бесплатному курсу по созданию своей CMS-системы на PHP с нуля. Все это поможет вам быстрее и проще освоить практические навыки веб-программирования:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!

Пишем правильный код на jQuery

jQuery — это JavaScript библиотека, призванная облегчить и без того нелегкую жизнь веб-разработчика. Благодаря ей мы можем манипулировать DOM-элементами, обрабатывать события, выполнять AJAX-запросы и многое другое с помощью изящного API. И сегодня я хочу дать несколько полезных советов о том, как писать правильный (оптимизированный) jQuery код.

Кэшируйте DOM-элементы

Кэширование DOM-элементов позволяет избежать лишней траты ресурсов если вы собираетесь использовать их в коде несколько раз:

Также можно закэшировать родительский элемент для дальнейшего обращения к его дочерним элементам:

Избегайте глобальных переменных

Убедитесь, что вы ограничиваете область видимости ваших переменных. Это хорошая практика:

Используйте Венгерскую нотацию

Размещение $ перед именами переменных поможет вам легко отличать те, которые содержат jQuery-объекты.

Используйте «var» цепочки

Вместо того, что бы использовать «var» каждый раз при объявлении переменной, воспользуйтесь следующей конструкцией:

Переменные, которым вы не присваиваете значение сразу, лучше размещать в конце.

Отдавайте предпочтение «.on()»

Начиная с версии 1.7 в jQuery появился метод .on() для создания обработчика того или иного события. Предпочтительней использовать именного его:

Сокращайте jQuery-код

По возможности сокращайте ваш jQuery-код:

Используйте цепочки методов

jQuery дает нам возможность объединять несколько методов в цепочку. Не упусти эту возможность, бро!

Сохраняйте код читабельным

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

Сокращайте ваш код

Сокращайте код по возможности:

Отделяйте (detach) элементы если собираетесь выполнить ресурсоемкие операции над ними

Если вы собрались выполнить ресурсоемкие операции над некоторым элементом, будет лучше сперва отделить его а потом прикрутить назад:

Знайте нюансы

Прежде чем воспользоваться тем или иным jQuery-методом убедитесь , что нет его более быстрого или предпочтительного эквивалента:

Избегайте универсальных селекторов

Вперемешку с другими селекторами универсальный селектор * довольно медленный:

Даже если вы опускаете селектор, универсальный селектор * всеравно применяется:

Оптимизируйте селекторы

Например, обращение к элементу по его id не требует каких-либо дополнительных селекторов:

Не используйте несколько селекторов id:

Не используйте запрещенные методы

Старайтесь не использовать запрещенные методы .

Одновременно работающий код js и jquery [закрыт]

Написал код слайдера на javascript и мне понадобилась функция клонирования из jquery .
Как заставить их работать вместе без проблем?

Закрыт по причине того, что не по теме участниками Grundy, cheops, user194374, Streletz, aleksandr barakin 20 июн ’16 в 7:27 .

Похоже, этот вопрос не соответствует тематике сайта. Те, кто голосовал за его закрытие, указывали следующую причину:

  • «Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.» – Grundy, cheops, Дух сообщества, Streletz, aleksandr barakin
Мастер Йода рекомендует:  Выбор из БД в случайном порядке на PHP

Если вопрос можно переформулировать согласно правилам, изложенным в справке, отредактируйте его.

15 Полезные библиотеки JavaScript для улучшения вашего сайта

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

Вам нужно быть опытным в том, чтобы разобраться, как объединить библиотеки в сайт, чтобы извлечь из них максимальную выгоду. Это не то, чему можно научить. Это навык, который вы можете освоить только на практике. Однако, как только вы овладеете концепциями, ваш творческий потенциал и то, чего вы сможете достичь с его помощью, не будет ограничен.

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

1. JQuery

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

2. Прототип

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

3. Modernizr

Эта библиотека помогает преодолеть проблемы с рендерингом страниц в старых браузерах, которые не полностью поддерживают HTML5. Хотя такие браузеры встречаются все реже, они все еще являются частью ландшафта, и наличие Modernizr может помочь вам эффективно решить проблему.

4. Начальная загрузка

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

5. pdf.js

Возможно, вы знаете, что формат PDF подвержен определенным уязвимостям. Чтобы обойти эту проблему, PDF.js был создан для отображения содержимого PDF на холсте HTML5. Очевидно, это также означает, что он работает только в браузере, который поддерживает HTML5 и Canvas.

6. JS Charts

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

7. Chart.js

Это действительно хорошая, абсолютно бесплатная альтернатива JS Charts. Он прост в использовании, хорошо документирован, и его можно настраивать бесконечными способами. Для его использования требуется немного больше навыков JavaScript, чем для JS Charts.

8. D3.js

Это старший брат по сравнению с предыдущими двумя примерами, которые предназначены для облегченного использования. Однако если вы обрабатываете данные в высшей лиге, D3 предлагает вам расширенные функции, которые могут поднять вашу онлайн-презентацию на новый уровень. Любой вид данных может быть визуализирован и представлен ошеломляющим количеством способов. Просто посмотрите примеры на веб-сайте D3, чтобы увидеть, что вы упустили.

9. bHive


Отличная графическая среда, которая настолько же революционна для HTML5 Canvas, насколько Raphaël была для HTML4. bHive позволяет быстро создавать SVG-графику, анимацию и даже включать интерактивность, которая может использоваться различными способами, например, простыми играми и образовательными приложениями.

10. Сова Карусель

Хотя чрезмерное использование каруселей не поощряется, для тех случаев, когда вам действительно нужно его использовать, Owl является одним из наиболее рекомендуемых плагинов для карусели, когда-либо созданных для jQuery. Он совместим как с сенсорными экранами, так и с указательными устройствами. Он поддерживает пролистывание и перетаскивание. Это полностью настраиваемый и отзывчивый по умолчанию.

11. Date.js

Иногда вам нужно иметь возможность выразить информацию о дате различными способами, чтобы создать контекст сайта. Возможности Date.js позволяют вам делать именно это, используя очень простой синтаксис, который не может быть легче выучить.

13. Moment.js

Еще одна библиотека форматирования и обработки дат. Он немного сложнее, чем Date.js, но позволяет легко выполнять определенные конкретные вычисления (isAfter, isBefore, isSameOrAfter, isSameOrBefore, isBetween, isLeapYear, isDate и т. Д.). Если вам не нужны все накладные расходы, связанные с этими дополнительными функциями, используйте вместо этого Date.js.

13. dateDropper

Когда вам нужно отобразить элемент управления Calendar / DatePicker на вашем сайте, dateDropper является наиболее элегантным и простым решением, которое мы когда-либо видели (и мы видели много). Он также более совместим с мобильными интерфейсами, чем многие другие решения.

13. Numeral.js

Делает для чисел, что Date.js делает для дат.

14. wForms

Простая, но полезная библиотека, хранящаяся в архиве Google Code, wForms облегчает работу по распространенным задачам, связанным с пользовательскими формами ввода. К ним относятся проверка ввода, подсказки и другие полезные функции.

15. sortTable

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

изображение заголовка любезно предоставлено Rogie

Форум

Справочник

Поиск по форуму
Расширенный поиск
К странице.

10 лучших функций на JavaScript

Если бы существовал универсальный файл common.js, которым пользовались бы все разработчики, вы бы нашли там эти десять (плюс одна бонусная) функций.

UPDATE март 2010: Эта статья была обновлена и переписана, чтобы соответствовать сегодняшнему дню и общему уровню сайта.

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

10) addEvent()

Несомненно, важнейший инструмент в управлении событиями! Вне зависимости от того, какой версией вы пользуетесь и кем она написана, она делает то, что написано у неё в названии: присоединяет к элементу обработчик события.

Простой вариант функции addEvent()

Этот код обладает двумя достоинствами — он простой и кросс-браузерный.

Основной его недостаток — в том, он не передает this в обработчик для IE. Точнее, этого не делает attachEvent .

Простой обход проблемы this

Для передачи правильного this можно заменить соответствующую строку addEvent на:

Это решит проблему с передачей this , но обработчик никак нельзя будет снять, т.к. detachEvent должен вызывать в точности ту функцию, которая была передана attachEvent .

Существует два варианта обхода проблемы:

    Возвращать функцию, использованную для назначения обработчика:

Можно не использовать this в обработчике события вообще, а передавать элемент через замыкание:

В качестве альтернативы и для примера более серьезной библиотеки обработки событий вы можете рассмотреть статью Кросс-браузерное добавление и обработка событий.

9) onReady()

Для инициализации страницы исторически использовалось событие window.onload, которое срабатывает после полной загрузки страницы и всех объектов на ней: счетчиков, картинок и т.п.

Событие onDOMContentLoaded — гораздо лучший выбор в 99% случаев. Это событие срабатывает, как только готов DOM документ, до загрузки картинок и других не влияющих на структуру документа объектов.

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

Для добавления обработчика можно использовать следующий кроссбраузерный код:

Подробное описание функций bindReady , onReady и принципы их работы вы можете почерпнуть в статье Кроссбраузерное событие onDOMContentLoaded.

8) getElementsByClass()

Изначально не написана никем конкретно. Многие разработчики писали свои собственные версии и ничья не показала себя лучше остальных.

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

classList Список классов, разделенный пробелами, элементы с которыми нужно искать. node Контекст поиска, внутри какого узла искать

7) addClass() / removeClass()

Следующие две функции добавляют и удаляют класс DOM элемента.

6) toggle()

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

Этот вариант никоим образом он не претендует на звание универсальной функции-«переключателя», но он выполняет основную функциональность показывания и спрятывания.

функция toggle(), слова народные

Обратите внимание, в функции нет ни слова про display=’block’ , вместо этого используется пустое значение display=» . Пустое значение означает сброс свойства, т.е. свойство возвращается к значению, указанному в CSS.

Таким образом, если значение display для данного элемента, взятое из CSS — none (элемент спрятан по умолчанию), то эта функция toggle не будет работать.

Этот вариант функции toggle красив и прост, однако этот и некоторые другие недостатки делают его недостаточно универсальным. Более правильный вариант toggle , а также функции show и hide описаны в статье Правильные show/hide/toggle.

5) insertAfter()

Как и getElementsByClass , этой функции почему-то нет в стандарте DOM. Возможно, чтобы избежать дублирования функционала, т.к. insertAfter реализуется всего одной строчкой.

4) inArray()

Очень жаль, что это не часть встроенной функциональности DOM. Зато теперь у нас есть возможность всё время вставлять такие вот замечания!

Для поиска эта функция использует проверку === , которая осуществляет поиск по точному сравнению, без приведения типов.

Метод Array.prototype.indexOf поддерживается не во всех браузерах, поэтому используется, если существует.

3, 2 и 1) getCookie(), setCookie(), deleteCookie()

В javascript нет способа нормально работать с cookie без дополнительных функций. Не знаю, кто проектировал document.cookie , но сделано на редкость убого.

Поэтому следующие функции или их аналоги просто необходимы.

name название cookie value значение cookie (строка) props Объект с дополнительными свойствами для установки cookie:

expires Время истечения cookie. Интерпретируется по-разному, в зависимости от типа:

  • Если число — количество секунд до истечения.
  • Если объект типа Date — точная дата истечения.
  • Если expires в прошлом, то cookie будет удалено.
  • Если expires отсутствует или равно 0, то cookie будет установлено как сессионное и исчезнет при закрытии браузера.

path Путь для cookie. domain Домен для cookie. secure Пересылать cookie только по защищенному соединению.

Последняя, но зачастую полезная: функция byId

Она позволяет функции работать одинаково при передаче DOM-узла или его id.

Здесь обе функции полиморфны, допускают и узел и его id, что довольно удобно, т.к. позволяет не делать лишних преобразований node id .

Надеюсь, этот небольшой и удобный список JavaScript-функций будет столь же полезен вам, сколь он полезен мне.

в JS нет худших и лучших функций, все нужны и полезны в конкретных ситуациях

Я бы еще добавил динамическую подгрузку JavaScript файлов, например этот метод: http://www.artlebedev.ru/tools/technogrette/js/include/

или метод который используется в Scriptalicous

Не нашел куда написать, поэтому пишу сюда. Я написал самое компактное определение IE из всех которые я знаю. Думаю пригодится:

можно и в 5 символов, но будет возвращаться false в эксплорере

Используется баг с подсчетом элементов массива.

Статью переписал. Как следствие, многие комментарии перестали относиться к переписанному варианту и были убраны.
По виду, получилось более актуально чем было.

Функции setCookie и getCookie работают в FireFox, но не работают в Chrome:

В чём тут дело? Либо можно пример вызова, который точно работает?

Дело в том, что 3й аргумент — props — объект. Если не хотите его указывать — не надо ставить «».

Так тоже не работает. У вас установлен Хром? Ну, попробуйте создать пустую страничку с одним этим скриптом. Выдаст undefined. A FireFox — «TestText1».

Да, установлен. Попробуйте сами — вот страничка http://javascript.ru/test.html . Все работает.

Но я же не могу свои странички к вам на сервер закачивать. Я запускаю со своего винчестера. И не работает.

Закачайте их к себе на сервер и запустите. Дело, видимо, как раз в том, что вы с винчестера запускаете, а надо — с сайта.

Мастер Йода рекомендует:  AdSense изменил политику кликов

А у меня сейчас нету сервера. Да и неудобно это. Вот на винчестере страничка, я её правлю, и сразу проверяю в браузере, никуда не закачивая.

Да и в FireFox’e то работает нормально. Может что-то не учтено, надо в скрипт ещё какую-то строчку кода для Хрома добавить?

Насколько я знаю, кука ставиться для УРЛа (Домена).
Если вы открываете страничку с винта, то где там имя домена?
Возможно Хром понимает бесполезность такого действия и ничего не предпринимает.
Насчет сервера: почему это неудобно? Неужели трудно поставить Денвер или какой-нибудь его аналог и работать в нормальных условиях, приближенных к реальным?

В хроме, начиная с 5й версии локально многие вещи не работают.
Например «ajax» и cookie.

Чтобы это работало «с винчестера» нужно запускать chrome.exe с ключами (можно дописать в свойства ярлыка):
—allow-file-access-from-files —enable-file-cookies

у хрома (по крайней мере на начальных этапах его становления и развития) наблюдается проблема с работой кук. долго бился, пока не понял это =( куки ни одним обычным методом не удалялись: и пустоту в них писал, и нулл, и время в прошлое. просто голову сломал.

Объясните пожалуйста, зачем в функции getElementsByClass():
a) нужна переменная key
b) нужны границы слова в

а) убрал, она лишняя была
б) границы нужны, чтобы корректно обрабатывать элемент со множеством классов:

Без указания границ слова всё обрабатывается корректно. По крайней мере я не смог создать такую ситуацию, когда отсутствие границ слова вызвало бы ошибку. Проверял с разными классами, с разным количеством пробелов, в разных браузерах. Не могли бы вы привести пример когда без границ слова, будет выводиться что-то неправильное?

Всё. Дошло. На самом деле «\\b» нужно не для того чтобы обрабатывать элементы с несколькими классами. А для таких случаев, если у меня есть один элемент с «class1» и другой элемент с «class11111». Без «\\b» по запросу «class1» будут найдены оба элемента.

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

Нашел красивейшую функцию по замене inArray:

Да действительно орининальное решение — но бесполезное — слишком много итераций. Это при больших массивах очень долго, особенно если искомое значение (по «закону полдлости») будет вначале масива.
Еще недостаток она не универсальна — с объектами работать не будет
(«. a.length . «).

Знаю что не открываю Америку и не изобретаю велосипед — поэтому это только для GreatRash (автора комментария):

//-Проверяет содержится ли значение в массиве/объекте
inObject=inArray=function(obj, value, flEqualityType) <
/*
Параметры:
— obj — объект или массив значений в котором ищем
— value — искомое значение
— flEqualityType — (необязательный) — флаг сравнения типов [true | false]
(по умолчанию false — сравнение без типов данных)
*/
var obj=obj, value=value, flEqualityType=flEqualityType || false;
if(!obj || typeof(obj)!=’object’) return false;
for(var i in obj) <
if(flEqualityType===true && obj[i]===value) return true;
if(flEqualityType===false && obj[i]==value) return true;
>
return false;
>;

Функция insertAfter не будет работать, если попытаться вставить ноду после последнего элемента в узле, т.к. его nextSibling == null. Вот рабочий вариант:

Можно обойтись и без дополнительной переменной next, но так наглядней.

Ваш пример нужно дорабатывать, т.к. nextsibling может указывать на текстовый элемент.

Ну и соответственно

RomanWeberov, с какой такой стати текстовые элементы не должны учитываться? Функция insertAfter() должна вставлять элемент строго после указанного и никак иначе.

Вы проверяли, что не будет работать?

Относительно текстового элемента — он тоже элемент..

Да, надо было проверить:(
Теперь буду знать:)
Но в любом случае, функцию можно упростить, убрав из списка аргументов parent’а.

Отличная подборка сценариев Обожаю ваш блог и ваш труд

Илья, мне кажется пример с getElementsByClassName() может ввести в заблуждение новичков, потому как этот метод по спецификации принимает один аргумент, а у тебя в примере использования их несколько причем еще и ID. Для этого есть querySelector(), querySelectorAll();

К тому же код можно упростить, сделать более универсальным, а также значительно увеличить производительность:

PS: добавление querySelectorAll() дает нам возможность работать с IE8+, а обратный цикл уменьшает время выполнения функции в несколько раз

Отличный вариант, спасибо.

Нельзя использовать в регулярках \bneedle\b, так как christmas-tree-needle это один класс.

В FireFox 11 подсветка не работает.

Функция getElementsByClass() работает неверно в IE при поиске узлов с несколькими классами.

В FF и Opera будет выделен второй абзац, т.к. используется встроенная функция, а IE выделит оба.

8) getElementsByClass()
Все таки не представлен настоящии универсальный метод:(
По моему самый лучшии вариант от monolithed
НО он загружает только 1 класс
Как правильно сделать полный обход?

var ).length;
for (var i=0; i

Я для себя написал вот такой inArray, он работает и для многомерных массивов

Ошибка в inArray(), строка 8. вместо a[] надо arr[]

Как по мне, так такой вариант выборки классов будет побыстрее:

мой вариант функции inArray
без цикла, и символов меньше

А не легче использовать такой код:

Или я чего-то не понимаю?

Например, того, что некоторые недобраузеры функции querySelectorAll не понимают.

8) getElementsByClass()

Подскажите, пожалуйста setCookie(name, value, props)
как у эту функцию установить время или дату.
я так понимаю что она сидит в props
как задать в него параметры

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

Предлагаю свой вариант работы с классами:

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

Преимущества: определение пути выполнения осуществляется только один раз, при первом вызове функции, при этом используются возможности HTML5. Нормальные браузеры будут работать еще быстрее (чем в JQuery, но не проверял), не нормальные — на том же уровне.

Немного переживаю за излишнее замыкание, но пошел на наго из-за компактности.

Еще пара функций:

Не могу разобраться с клонированием картинок при перетаскивании. Можете направить где копать?

addClass
Какая-то стрёмная замена classList.add()

function insertAfter(parent, node, referenceNode) <
parent.insertBefore(node, referenceNode.nextSibling);
>

И где тут проверка, что это не младший сын?

Эти приемы слишком не соответствуют сути прототипно-ориентированного языка.


Почему бы не myObject.addEvent?

как де queryString?

Где демонстрация работы с динамическими элементами?

Да, порой фреймворк использовать не получается (покажите мне такой, в ЛС), но это плохой подход.

ПС: Кину свою мини-библиотеку нужнрых мне порой функций.

ПС2: Пользуйтесь jQ, Angular, polymer и все будет в порядке.

onReady() дала течь. Вернулся к windows.onload

А jQuery использовать мешает высокомерие — мы же крутые JS-разработчики а не х.пойми что )))

Функции полезные, но можно использовать jQuery и разрабатывать на Javascript еще быстрее и эффективнее.

Поэтому, без лишних вступлений, вот список из десяти, по моему мнению, величайших пользовательских функций на JavaScript, которые используются в настоящее время.
bullet force game online.

it’s been so long since I last read such a favorable article. clash royale

Отправить комментарий

Текущий раздел
  • Асинхронное программирование
  • Google Gears в деталях
  • Javascript Flash мост
  • Букмарклеты и правила их написания
  • О подборке книг на сайте
  • Почему — плохо
  • Способы идентификации в интернете
  • Уровни DOM
  • Что почитать?
  • Шаблонизация с javascript
  • Юнит-тесты уровня браузера на связке Selenium + PHP.
  • Справочники: Javascript/HTML/CSS
  • Система сборки и зависимостей Google Closure Library
  • Хранение данных на клиенте. DOM Storage и его аналоги.
  • 10 лучших функций на JavaScript
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Последние комментарии
  • Комментарий
    18 часов 8 минут назад
  • A very nice blog, I like the way you.
    2 дня 4 часа назад
  • This is a great thing, I think everyone.
    2 дня 4 часа назад
  • It is wonderful to be here with.
    2 дня 4 часа назад
  • Download and play DOM Level 0 — это.
    2 дня 9 часов назад
  • We are the children
    3 дня 9 часов назад
  • function firstUniqLiter(str) <
    3 дня 17 часов назад
  • Великие посты! Я на самом деле.
    4 дня 11 часов назад
  • artical is really informative and.
    5 дней 1 час назад
  • Вы не можете найти себя, уходя в.
    6 дней 6 часов назад
Последние темы на форуме

Заголовок первого блока

  • Пункт #1 Пункт #1 Пункт #1 Пункт #1 Пункт #1 Пункт #1
  • Пункт #2
  • Пункт #3
  • Пункт #4 Пункт #4 Пункт #4 Пункт #4 Пункт #4 Пункт #4 Пункт #4 Пункт #4 Пункт #4
  • Пункт #5
  • Пункт #6
  • Пункт #7
    • Пункт #7.1
    • Пункт #7.2
    • Пункт #7.3 Пункт #7.3 Пункт #7.3 Пункт #7.3 Пункт #7.3 Пункт #7.3 Пункт #7.3 Пункт #7.3 Пункт #7.3
    • Пункт #7.4
    • Пункт #7.5
  • Пункт #8
    • Пункт #8.1 Пункт #8.1 Пункт #8.1 Пункт #8.1 Пункт #8.1
    • Пункт #8.2
    • Пункт #8.3
  • Пункт #9
  • Пункт #10
  • Пункт #11 Пункт #11 Пункт #11 Пункт #11 Пункт #11
    • Пункт #11.1
    • Пункт #11.2
    • Пункт #11.3
    • Пункт #11.4
    • Пункт #11.5
    • Пункт #11.6
  • Пункт #12 Пункт #12 Пункт #12 Пункт #12 Пункт #12 Пункт #12 Пункт #12 Пункт #12 Пункт #12
  • Пункт #13
  • Пункт #14
  • Пункт #15
  • Пункт #16
  • Пункт #14 Пункт #14 Пункт #14 Пункт #14 Пункт #14 Пункт #14 Пункт #14 Пункт #14 Пункт #14
  • Пункт #15
  • Пункт #16

Заголовок второго блока

Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст

Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст

Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст

Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст

Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст

Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст

Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст

Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст

Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст

20 Полезных методов jQuery

Дата публикации: 2010-04-20

От Автора: Итак, вы уже немножко порезвились с jQuery, начинаете приобретать мастерство, и вам это действительно нравится! Вы готовы поднять свои знания jQuery до второго уровня? Сегодня я покажу двадцать функций и свойств, которых вы, вероятно, до этого не видели!

1. after() / before()

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

‘ ) ) . text ( ‘This becomes a sibling of #child’ ) ) ;

‘ ) ) . text ( ‘Same here, but this is go about #child’ ) ) ;

Также это можно сделать, если вы работаете непосредственно с тем элементом, который хотите вставить; просто используйте функции insertAfter() или insertBefore.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

I\’ll be a sibling of #child

2. change()

Метод change() – это обработчик событий, прямо как click() или hover(). Событие change – для текстовых областей, полей ввода и окон выбора, и оно сработает, когда изменится значение целевого элемента; заметьте, это не то же самое, что обработчики событий focusOut() или blur(), которые запускаются, когда элемент теряет фокус, независимо от того, изменено его значение или нет.

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

3. Context

Context – это и параметр, и свойство в jQuery. При обработке элементов вы можете передать его в функцию jQuery как второй параметр. Этот параметр — контекст, обычно является элементом DOM, и он ограничивает элементы, сопоставляющиеся вашему селектору, дочерними элементами контекста. Возможно, вы немного сбиты с толку, поэтому посмотрите вот этот пример:

class = «hello» > Hello World

class = «hello» > Hello World

Итак, где это может быть полезным? Одна из таких ситуаций может возникать внутри функции обработчика событий. Если вам необходимо получить дочерний элемент внутри источника события, вы можете передавать его свойство this в качестве контекста:

4. data() / removeData()

Вы когда-нибудь имели необходимость хранить дополнительную информацию об элементе? С помощью метода data() можно легко это сделать. Чтобы установить значение, вы можете передать два параметра (ключ и значение) или всего один (объект).

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

Чтобы получить все данные, которые соотносятся с элементом, вызовите метод data() безо всяких параметров; вы получите объект, содержащий все ключи и значения, которые вы назначали этому элементу.

Если хотите удалить пару ключ/значение после того, как добавили ее к элементу, просто вызовите removeData(), передавая надлежащий ключ.

5. queue() / dequeue()

Функции queue() и dequeue() касаются анимации. Очередь (queue) – это список анимации, выполняемой для элемента; по умолчанию очередь элемента называется ‘fx.’ Давайте рассмотрим ситуацию:

HTML

JavaScript

Итак, вот что происходит: в функции animateBox мы настраиваем очередь анимации; обратите внимание, что последняя запись снова обращается к функции, так что она будет постоянно повторять очередь. Когда мы щелкаем li#start, вызывается эта функция и очередь начинает работать. Когда мы щелкаем li#reset, текущая анимация заканчивается, и мы должны остановить анимацию div. Чтобы сделать это на jQuery, очередь с названием ‘fx’ (помните, очередь по умолчанию) устанавливается в пустой массив; по существу, мы очищаем очередь. А что происходит, когда мы щелкаем li#add? Сначала, мы вызываем функцию queue() на div’е; свойство this, используемое в функции, передается вместе с ней в конец очереди; так как мы не указывали очередь как первый параметр, используется стандартное название ‘fx’. Внутри этой функции мы анимируем div, а затем вызываем dequeue() на div’е, с тем, чтобы удалить этот шаг из очереди и продолжить обработку; таким образом, очередь будет повторяться, но эта функция уже не будет ее частью.

6. delay()

Находясь в цепочке анимации, вы можете использовать метод delay(), чтобы приостанавливать анимацию на некоторый срок; время передается как параметр в миллисекундах.

Ищете мысли об улучшении кода javascript (jquery). Рекурсивная функция

Я сделал этот код, который делает некоторые визуальные «плитки», которые исчезают и исчезают. Но на данный момент у меня небольшая проблема с производительностью.

Несмотря на то, что большинство browers работают с кодом в порядке (особенно firefox), некоторые из них, например, сафари, имеют проблемы через некоторое время (время = 15 секунд).

Я думаю, что это связано с моей рекурсивной функцией (функция с именем changeopacity, которая вызывает себя навсегда при задержке)? или это?

Но в любом случае проблема заключается в том, что этот код действительно тяжелый для большинства браузеров. Есть ли, или еще, как я могу сделать этот код более эффективным? Есть предположения? (примеры кода были бы хороши) спасибо: -)

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

Я бы настоятельно рекомендовал программировать собственный планировщик событий. Что-то вроде этого, которое я использовал в университетском проекте:

Затем вместо использования setTimeout вызовите timer.add с теми же аргументами. Аналогично, вместо setInterval вы можете вызвать timer.addInterval .

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

Хорошая анимация:-) Однако я обнаружил некоторые ошибки и возможные улучшения:

  • Таблица не восстанавливается при изменении размера окна. Не уверен, что ошибка или функция: -)
  • Используйте делегированные события. У вас много элементов, и каждый обработчик событий стоит дорого. К сожалению, это не будет работать для события без пузырьков mouseenter .
  • Было бы неплохо, если бы вы не использовали встроенные стили для и с высотой — те не меняются. Для divs они все равно суперфлоу.

Я не вижу причины, чтобы все эти элементы имели идентификаторы. Здание html-строки может быть более кратким.

Загрузите элементы. Вы используете конструктор jQuery почти для каждой переменной, создавая новый экземпляр. Просто используйте их повторно.

Функция changeopacity выглядит немного странно. Если непрозрачность ниже 0,3, есть шанс 1-в-13 оживить до нуля? Это может быть более жестким. Вы также можете кэшировать непрозрачность переменной вместо того, чтобы каждый раз считывать ее из dom.

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

Вместо использования таймаута вы должны использовать полный обратный вызов метода animate . Тайм-ауты никогда не являются точными, они могут даже мешать здесь, вызывающим (незначительные) проблемы.

Язык JavaScript

Кроссбраузерное добавление страницы в закладки

Кроссбраузерное добавление страницы в закладки реализуется с использованием JavaScript. Для добавления страницы в Избранное браузеров Internet Explorer и браузеров, работающих на движке IE, вызывается стандартный метод AddFavorite. Однако здесь есть одна важная деталь. Если страница IE открыта как embedded-объект в другом приложении, например в плагинах или при использовании компонентов для работы с html, то объект window.external присутствует, но его метод AddFavorite не срабатывает. Это наиболее частая ошибка разработчиков, которые просто копируют код друг у друга без его понимания и тестирования. Также большой ошибкой будет использование на своем сайте только одного этого способа.
Читать далее »

Кросс-доменный Ajax в jQuery

Ajax запросы на сторонние вебсайты, как правило, невозможны из-за ограничений безопасности. Но есть несколько методов обхода данных ограничений.
Узнайте подробнее о них, вы можете из этого небольшого руководства.

JSONP Читать далее »

7 полезных советов для улучшения jQuery кода

В данном обзоре вы узанете 7 наиболее полезных советов по улучшению jQuery кода. Читаем и проверям свои наработки:)

  1. Используйте $(document).ready() или выполняйте ваши скрипты после закрытия body.
  2. Сохраняйте данные в свойство data блока, с помощью DOM. Пример:
    Читать далее »

Сортировка массивов в JavaScript

В JavaScript можно сортировать массивы с помощью метода sort. В качестве единственного необязательного аргумента метод принимает функцию, определяющую правила сортировки. Если sort вызвали без аргументов, то сортировка осуществляется по возрастанию значений элементов. Пример:
Читать далее »

jQuery для начинающих. Часть 3. AJAX

Представляю Вам третью статью из серии jQuery для начинающих. В этот раз я постараюсь рассказать о реализации AJAX запросов…

Что такое AJAX я думаю рассказывать не стоит, ибо с приходом веб-два-нуля большинство пользователей уже воротят носом от перезагрузок страниц целиком, а с появлением jQuery реализация упростилась в разы…

Примечание: Во всех примерах используется сокращенный вариант вызова jQuery методов, используя функцию $ (знак доллара)
jQuery(..).load Читать далее »

jQuery для начинающих

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Как же все-таки работает jQuery? Читать далее »

Ловим скролл

Страницы сайтов по своему функционалу стремятся к возможностям полноценных приложений, что, в основном, ложится на плечи JavaScript. Одна из задач, которая возникает у разработчика JavaScript-приложений — обработка скролла.

jQuery для JavaScript

Когда jQuery, библиотека JavaScript, увидела свет в январе 2006, все подумали: «очередная красивая игрушка». Выбор CSS-селекторов в качестве базиса было, конечно, изящной идеей, но использование цепочек преобразований выглядело немного замысловато, и сама библиотека, по-видимому, не покрывала всех возможных случаев. jQuery расценивали тогда только как временное и проходящее решение.
Читать далее »

Профайлеры в JavaScript

Зачастую, чтобы измерить время выполнения сценария, используется примитивный, но надежный метод создания Date-объектов.

GlassBox

Описание

Недавно обнаружили весьма интересную javascript библиотеку Glassbox.
С ее помощью можно создавать прозрачные рамки, цветные полупрозрачные слои и различные визуальные эффекты, такие как плавное появление и исчезновение слоев.
Читать далее »

С чего начать? jQuery или Javascript

У меня есть опыт программирования на Delphi (не большой). Немного разбираюсь в HTML и CSS (делал пару сайтов. На Joomla, DLE и Ucoz).
Хочу выучить Javascript. Нужна помощь по подбору оптимальной литературы для изучения.
Думал купить книгу JavaScript. Подробное руководство — Дэвид Флэнаган Дороговато конечно, но материала тоже много в книге.
А потом натолкнулся на статьи по jQuery и так понял что сейчас больше используют jQuery.
Начал искать книги. И вот такие нашел:
-Изучаем работу с jQuery (Райан Бенедетти, Ронан Крэнли (2012))
-PHP и jQuery для профессионалов Джейсон Ленгсторф (2011)
-Изучаем jQuery. Перейдите на новый уровень работы с JavaScript, используя мощь jQuery Эрл Каслдайн, Крэйг Шарки (2013)
-Изучаем jQuery Новый стиль программирования на JavaScript Эрл Каслдайн, Крэйг Шарки (2012)
-Изучаем jQuery 1.3. Эффективная веб-разработка на JavaScript Чаффер Д., Шведберг К. (2010)
-jQuery. Сборник рецептов Самков Геннадий (2011)
-jQuery. Подробное руководство по продвинутому JavaScript Бер Бибо, Иегуда Кац (2009)

Вот и вопрос какую лучше книгу купить из всех этих. По деньгам понятное дело что могу раскошелится только на одну. Либо JavaScript. Подробное руководство — Дэвид Флэнаган, либо 2-3 по jQuery так как их цена в 2-3 раза дешевле.
Нужно что бы книга была доступно написана как для полного «чайника».

09.11.2012, 13:06

С чего начать изучение JavaScript?
Всем привет! Думаю тема заезженная, но хочется свежих ответов пользователей. Просьба разобрать.

С чего начать изучение JavaScript
Как можно быстро и эффективно изучить язык java script и где найти уроки для него

Что лучше начать изучать, java или javascript?
Здравствуйте, я новичок в программирований. В школе изучали PascalABC и pascalABC.net. Создавали.

Как узнать ip адрес на javascript или jquery?
нужен пример кто может подсказать как узнать ip адрес на javascript или jquery

Изучение HTML CSS JavaScript или не поздно ли начать в 27 лет?
Доброго времени суток, уважаемые форумчане, в общем буду краток, мне 27 (почти 28 лет) и у меня.

Улучшение игрового шаблона с помощью кода JavaScript

У меня есть Play-шаблон с кодом JavaScript в нем. Все работает, но имеет два недостатка:

  • Плохая читаемость с eclipse-play-plugin, javascript не выделяется при выделении кода
  • Я не могу использовать функциональные возможности jquery-document-ready, потому что (я думаю) материал jquery еще не загружен в этой точке дерева dom. Поэтому мне пришлось взять нативную реализацию с помощью setInterval()

С другой стороны, у меня есть преимущество с его решением:

  • Я могу использовать материал play-scala-template для генерации кода JavaScript
  • весь код находится в одном файле и не теряется каким-либо образом в папке public/javascript

Любые предложения по улучшению кода приветствуются! Спасибо

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