Показать сообщение отдельно
  #18 (permalink)  
Старый 25.02.2013, 13:05
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от master_alf
makeGray('body div img');
1) body в селекторе ни к селу ни к городу. Бывают картинки вне body чтоли?
2) Раз jQuery, то и оформи как плагин к jQuery. Чтобы вызов был через $('div img').makeGray()

Сообщение от master_alf
var grayTryCount = 0;
var timerID = false;
Срём в глобал? Не канает для публичного плагина. Срочно обернуть в анонимную функцию.
Сообщение от master_alf
$(selector)
А что если у юзера был вызван jQuery.noConflict() ?
Передать в анонимную функцию - обертку ссылку на jQuery, а внутри уже использовать знак доллара. Смотри как это сделано в других плагинах. Вообще, раз ты делаешь плагин, хоть бы не поленился и изучил как их делают другие.

Сообщение от master_alf
setTimeout(
Это самый последний вариант решения, когда подругому - ну никак. В данном же случае можно просто навесить обработчик onload на картинки и ждать их загрузки.
Сообщение от master_alf
$(imgObj).attr('src');
Может просто imgObj.src ?
Сообщение от master_alf
$(newImg).attr('class', 'gray');
Сообщение от master_alf
$(img).addClass('makeGrayDone');
Как будто два разных человека писали код. addClass предпочтительней.

Где используется функция createCanvas ?

Сообщение от master_alf
$(fx.elem).css('-ms-filter', 'progidXImageTransform.Microsoft.Alpha(Opacity=' + opacity + ')');
Зачем это? jQuery сама фиксит opacity в старых ишаках.

Перед .animate() нужно делать .stop() чтоб не образовывалось очереди.
Ответить с цитированием