Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.11.2008, 19:39
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

аа спасибо сек будте исправлено, и я использую ваш скрипт для нахождения классов для старых браузеров
Ответить с цитированием
  #12 (permalink)  
Старый 01.11.2008, 19:56
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Да не важно чей скрипт, главное чтоб Вы понимали, что он делает, ну или хотябы хотели понять :-)

Последний раз редактировалось Octane, 01.11.2008 в 20:04.
Ответить с цитированием
  #13 (permalink)  
Старый 01.11.2008, 20:24
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

http://fuzaylov.net/asdf.html (кликать по ссылкам после полной загрузки страницы) Еще возник какой то глюк
1) почему то рис не грузиться в IE7, а в FF2 and Opera они грузятся но не вставляются в див, а браузер перекидывает меня на адрес рисунка.
2) почему то рисунки loading.gif и x.jpg не подгружаются.
хотя в методе setup src указывается.
this.xPic                     = new Image();
this.xPic.src                = 'x.jpg';
this.loadingPic             = new Image();
this.loadingPic.src        = 'loading.gif';
Ответить с цитированием
  #14 (permalink)  
Старый 01.11.2008, 20:38
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Нужно предотвратить стандартное событие перехода по ссылке
объект_событие.preventDefault(); // для W3C совместимых браузеров
event.returnValue = false; // для Internet Explorer

Просто «return false» в функции где-то не срабатывает, не помню уже где, вроде с addEventListener.

А изображения, чтобы они были подгружены заранее, должны находится в дереве, а не просто созданы через new Image().src… чтобы они не мешались, можно, например, задать для них абсолютные координаты и visibility: hidden; в CSS, но не display: none;.

Последний раз редактировалось Octane, 01.11.2008 в 20:44.
Ответить с цитированием
  #15 (permalink)  
Старый 01.11.2008, 20:51
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Кстати, JavaScript очень «гибкий» язык и вместо:
this.xPic                     = new Image();
this.xPic.src                = 'x.jpg';
this.loadingPic             = new Image();
this.loadingPic.src        = 'loading.gif';

можно записать так:
(this.xPic = new Image()).src = 'x.jpg';
(this.loadingPic = new Image()).src = 'loading.gif';

хоть пусть меня кто-нибудь и упрекнет в не читаемости такой конструкции, но я предпочитаю использовать подобные возможности языка для сокращения кода :-)
Ответить с цитированием
  #16 (permalink)  
Старый 20.12.2008, 17:20
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Здравствуйте всем!
Доделал скрипт до конца. Пожалуйста если найдутся еще замечания всегда буду только рад.
Еще есть вопрос. Мой скрипт начинает работать после полной загрузки страницы. Т.е. страница грузиться и цикл проходит по всем ссылкам и прикручивает к ним обработчики. Как вы думаете, будет лучше прикручивать обработчики после полной загрузки страницы или вставить тэг <script src="my.js"></script> в самый низ страницы и проходиться по всем ссылкам не дожидаясь полной загрузки страницы. Т.е. в первом случае скрипт не работает до полной загрузки страницы, а во втором случает он может применяться еще к не загрузившимся рисункам!
Ответить с цитированием
  #17 (permalink)  
Старый 20.12.2008, 17:20
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

http://fuzaylov.net/effect/

Последний раз редактировалось HelpeR, 20.12.2008 в 17:27.
Ответить с цитированием
  #18 (permalink)  
Старый 20.12.2008, 18:51
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Есть еще вариант обработать ссылки по событию «DOMContentLoaded» и в то же время оставить возможность вызвать скрипт в ручную в любое время.

Смотрел в Firefox 3.0.5
1. Первое изображение не открывается (индикатор загрузки вечно висит), второе показывает первое :-)
2. Загрузку нельзя прервать.
3. На большом мониторе плавное изменение прозрачности черного блока тормозит.
4. Черный блок не достает справа и снизу на границ рабочей области браузера.

Последний раз редактировалось Octane, 20.12.2008 в 19:04.
Ответить с цитированием
  #19 (permalink)  
Старый 20.12.2008, 19:19
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Цитата:
Загрузку нельзя прервать.
Т.е. во время загрузки рисунка прикрутить кнопку "закрыть" или есть еще какой нибудь выход?
Цитата:
На большом мониторе плавное изменение прозрачности черного блока тормозит.
У меня 17' и все нормально, а от чего может зависеть это торможение на большом маниторе?
Ответить с цитированием
  #20 (permalink)  
Старый 20.12.2008, 19:40
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от HelpeR Посмотреть сообщение
еще какой нибудь выход?
Закрывать по клику на черный блок
Сообщение от HelpeR Посмотреть сообщение
У меня 17' и все нормально, а от чего может зависеть это торможение на большом маниторе?
Браузер не успевает плавно перерисовывать такие большие прозрачные области, по экрану начинают бегать широкие горизонтальные полосы разной прозрачности. На маленьком мониторе так же, только эффект не настолько заметен. Это не проблема компьютера. Уже много раз с таким сталкивался. Может быть стоит попробовать подобрать более оптимальные значения вместо того, чтобы прибавлять по 0.02 до 0.9 с задержкой 100мс, в это время браузер успевает перерисовать весь экран аж 45 раз.

Я в подобном скрипте, чтобы избавится от этого мерцания, растягивал темный блок до размеров окна, а не страницы, делал его position: fixed; и изменял прозрачность не так плавно.

Последний раз редактировалось Octane, 20.12.2008 в 19:47.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск