Показаны сообщения с ярлыком jquery. Показать все сообщения
Показаны сообщения с ярлыком jquery. Показать все сообщения

среда, января 16, 2008

Javascript: :: JQuery 1.2.2

Обновился мой любимый фреймворк JQuery.
Разработчики не поскупились на множество исправлений и улучшений, ха что им и спасибо.

Что нового в библиотеке:
  1. Скорость работы $(DOMElement) улучшена на 300%
  2. Пересмотрена функция документа .ready()
    • Новая техника определения готовности для IE
    • Все браузеры теперь ждут загрузки CSS
    • Новый способ объявления $(document).bind("ready", fn); Старый вариант конечно же работатет $(document).ready();

  3. Добавлены 2 новых события .bind("mouseenter") / .bind("mouseleave").
    Теперь можно делать вот так:
    $("li").bind("mouseenter", function(){
    $(this).addClass("hover");
    }).bind("mouseleave", function(){
    $(this).removeClass("hover");
    });
  4. Тоже самое для колеса - .bind("mousewheel")
    $("div").bind("mousewheel", function(event, delta){
    if ( delta < 0 )
    $(this).append("up");
    else
    $(this).append("down");
    });
  5. А также ещё изменения, которые я упустил или не стал переводить всилу слабости моего английского.

воскресенье, декабря 09, 2007

JavaScript: JQuery

На повестке дня два вопроса. Точнее вопрос из них только один, второе приятная вещь, которой научился недавно.

1. Вопрос про AJAX. Допустим, запрашиваем у скрипта определённое количество информации, которую потом нужно отобразить в виде таблицы. По началу я делал так: получаем данные в скрипте, там же формируем необходимый html код, возвращаем его в javascript и вставляем в нужную таблицу (метод appendTo). Вроде всё работает и всё хорошо.
Чуть погодя возник собственно вопрос - а правильно ли это?
Есть второй способ - получит данные и вернуть его ввиде JSON. После этого силами javascript на лету собирать нужную таблицу и вуаля.
Второй способ мне кажется правильнее и логичнее, но...
Плюс первого - формирование таблицы сервером пройдёт быстрее.
Минусы первого - возрастёт количество передаваемого трафика, что не может не повлиять на общую работу системы.
Плюсы второго - минимум трафика, так как передаются только необходимые данные.
Минусы второго - скорость формирования таблицы с помощью javascript оставляет желать лучшего.
Интересно, как всё же делать правильно? В общем, вопрос остаётся открытым.

2. Как я уже говорил, это не вопрос, а просто приятность, обнаруженная мною у JQuery.
Создавая объект на лету, часто приходиться задавать ему большое количество дополнительных параметров (класс, идентификатор, имя, оформление, ...).
Так вот, в JQuery можно создавать цепочки команд, применяя их к одному объекту. На примере будет всё понятно.
Можно делать так:
var object = document.createElement('div');
$(object).addClass('block');
$(object).attr('id', 'block_id');
$(object).text('#')
$(object).appendTo($(tr));
А можно так:
var object = document.createElement('div');
$(object).addClass('block').attr('id', 'block_id').text('#').appendTo($(tr));
Согласитесь, что получилось значительно короче и удобнее.

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