reset.css — так ли всё хорошо?

Наткнулся на необычный и интересный баг — <b> и <strong> не делают текст полужирным, если использовать reset.css от Eric A. and Kathryn S. Meyer:

Решение: закомментировать 23-ю строку в reset.css (font: inherit;). Пользуйтесь.

Интересное поведение Google Chrome

Наткнулся на удивительное: мало того, что Chrome кастомизирует страницу с ошибкой, так ещё и докладывает, что я не один не могу открыть сайт. Приятно.

jQuery.mousewheel: обработка событий колеса мыши

В данной статье мы будем пользоваться jquery.mousewheel.

Для того, чтобы обработать событие скролла, необходимо повесить listener на определённый элемент:
  1. $('#wrapper')
  2.    .mousewheel(function (event, delta) {
  3.       //code
  4.    })
  5. ;
Пример — как обработать скролл — делаем горизонтальную прокрутку блока при вращении колёсика мыши:
  1. $('#photo-wrapper')
  2.    .data('scrollLeft', -1) //для предотвращения блокировки вертикального скролла
  3.    .mousewheel(function (event, delta) {
  4.       if ( (!this.scrollLeft && delta > 0) || (this.scrollLeft == $(this).data('scrollLeft') && delta < 0) ) {
  5.          return true; //данный блок необходим для того, чтобы перестать блокировать вертикальный скролл, если горизонтальный закончился
  6.       }
  7.       
  8.       $(this).data('scrollLeft', this.scrollLeft); //сохраняем текущий скролл слева
  9.       
  10.       this.scrollLeft -= (delta * 300); //на сколько прокрутить блок? (размер скролла)
  11.       return false; //отключить вертикальный
  12.    })
  13. ;

jQuery's .animate вешает chrome/webkit на ≈10 секунд (загрузка процессора 100%)

Есть в одном проекте следующий код:
  1. $(t)
  2.    .css({'border': '9px solid #D9D9D9'})
  3.    .animate({'border': '9px solid #C62417'}, 'fast')
  4.    .animate({'border': '9px solid #D9D9D9'}, 'fast')
  5.    .animate({'border': '9px solid #C62417'}, 'fast')
  6.    .animate({'border': '9px solid #D9D9D9'}, 'fast')
  7. ;
И вешает он браузер (Google Chrome 11.0.696.28 beta) при вызове события.
В чём же проблема? Как выяснилось, проблема в том, что создаются несколько одинаковых анимаций последовательно.

Решение — заменить одинаковые цвета на практически не отличающиеся, но немного другие:
  1. $(t)
  2.    .css({'border': '9px solid #D9D9D9'})
  3.    .animate({'border': '9px solid #C62417'}, 'fast')
  4.    .animate({'border': '9px solid #D9D9D8'}, 'fast')
  5.    .animate({'border': '9px solid #C62418'}, 'fast')
  6.    .animate({'border': '9px solid #D9D9D9'}, 'fast')
  7. ;
Таким образом анимации становятся разными и проходят с загрузкой процессора ≈1%.