Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Работа над сайтом > HTML-верстка

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 16.05.2003, 11:57
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 11  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Оригинал написал(а) telesar
// Это прелоад:
<TABLE border="0">
<TR><TD background="pic2.gif"><IMG src="1x1.gif"></TD></TR>
</TABLE>
На каждую картинку требуется код:

Код:
...<TD background="pic2.gif"><IMG src="1x1.gif"></TD>...
Скриптами:

Код:
...,'pic2.gif'...
50 байт против 10 -- это в пять раз. Если имена картинок имеют регулярную структуру (pic1...picN), то и в 20-30 раз.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 16.05.2003, 12:47
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 12  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Оригинал написал(а) Useless
Я, разумеется, видел двшный код, разумеется, поползал по нему порядочно
и не заметил, что DW'шный скрипт работает именно так, как ты предложил?

Цитата:
и он мне не понравился.
Чем? Я имею в виду существенные моменты, вследствии которых ты ДРУГИМ не рекомендуешь этим пользоваться.

Цитата:
Универсальность - это хорошо, но я предпочитаю всё делать руками. [/b]
А что "универсального" ты нашел в DW'шном прлоадере?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 16.05.2003, 13:33
telesar вне форума Посмотреть профиль Отправить личное сообщение для telesar Посетить домашнюю страницу telesar Найти все сообщения от telesar
  № 13  
telesar
 
Аватар для telesar

Регистрация: Feb 2002
Адрес: Саратов
Сообщений: 93
2 Crazy:

А разве это все ? Разве не вставляется описание самих ф-ий и не по-другому выглядит описание ролловеров ?
__________________
Funciona situando las manos bajo el secador

Старый 16.05.2003, 15:16
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 14  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Оригинал написал(а) telesar
А разве это все ? Разве не вставляется описание самих ф-ий
Функция элементарно выносится в отдельный файл, который не потребуется каждый раз заново выкачивать. Да и без того на десятке картинок суммарный размер (с функцией) будет раза в 2-3 меньше.

Цитата:
и не по-другому выглядит описание ролловеров ?
Мы говорим о предварительной загрузке картинок. Как и почему это влияет на реализацию rollover'ов?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 16.05.2003, 19:39
Useless вне форума Посмотреть профиль Отправить личное сообщение для Useless Посетить домашнюю страницу Useless Найти все сообщения от Useless
  № 15  
Useless

Регистрация: Mar 2001
Адрес: всё, отжился...
Сообщений: 1,024
Отправить сообщение для Useless с помощью ICQ
Цитата:
Оригинал написал(а) Crazy

и не заметил, что DW'шный скрипт работает именно так, как ты предложил?
Конечно, так. А что там ещё можно придумать? Только кода там, насколько я помню, поболе.

Цитата:
Оригинал написал(а) Crazy

Чем? Я имею в виду существенные моменты, вследствии которых ты ДРУГИМ не рекомендуешь этим пользоваться.
Хотя бы вот этим:
Цитата:
Оригинал написал(а) telesar

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

Цитата:
Оригинал написал(а) Crazy
А что "универсального" ты нашел в DW'шном прлоадере?
Всё, Зелёный Слон, уговорил: сейчас специально поставлю дримвывер, посмотрю код, и всё про него выскажу
__________________
Work not wolf - in forest no run

Старый 17.05.2003, 15:23
Useless вне форума Посмотреть профиль Отправить личное сообщение для Useless Посетить домашнюю страницу Useless Найти все сообщения от Useless
  № 16  
Useless

Регистрация: Mar 2001
Адрес: всё, отжился...
Сообщений: 1,024
Отправить сообщение для Useless с помощью ICQ
Итак, вот наш пациент:
Код:
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

MM_preloadImages('a.gif','b.jpg','c.png');
Что мы видим?

Чуть ли не половина объёма кода - меры предосторожности против того, чтоб какой-нибудь тупой юзер не вызвал эту функцию несколько раз. Точнее, чтоб он мог это сделать, ничего не испортив. И чтоб ещё якорей в список мог напихать безбоязненно.

Поскольку такого идиотизма нормальный человек не совершит даже по обкурке, этот кусок запросто можно выкинуть. Ещё отформатировать код нормально, и получится:
Код:
function PG_preloadImages( names ) {
  if ( document.images ) {
    PG_images = [];
    for ( var i = 0; i < names.length; i++ ) {
      PG_images[i] = new Image();
      PG_images[i].src = names[i];
    }
  }
}

PG_preloadImages( [ 'a.gif', 'b.jpg', 'c.png' ] );
Можно ещё оптимизнуть тут в паре мест, но общий принцип ясен.

Аргументы в защиту ДВшного кода?
__________________
Work not wolf - in forest no run

Старый 17.05.2003, 16:19
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 17  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Аргументы:

1. Для функции MM_preloadImages вполне допустим многократный вызов. При этом она принимает параметрами не только имена картинок, но и константы вида '#.....', которые могут быть использованы верстальщиком в своих целях (например -- для идентификации оригинала файла, из которого делался экспорт).

3. Вариант от Macromedia хранит массив в пространстве имен документа, а не в дефолтовом пространстве имен скриптов документа, что снижает вероятность конфликта имен переменных.

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

Вот по этим причинам код от Macromedia более пригоден к практическому применению.

Кроме того, я не вижу в твоем сообщении никаких притензий к качестве работы кода DW.

P.S. Твой новый подход кардинально отличается от высказанного ранее: там ты не предлагал использовать специальную функцию для загрузки картинок.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 18.05.2003, 01:31
Useless вне форума Посмотреть профиль Отправить личное сообщение для Useless Посетить домашнюю страницу Useless Найти все сообщения от Useless
  № 18  
Useless

Регистрация: Mar 2001
Адрес: всё, отжился...
Сообщений: 1,024
Отправить сообщение для Useless с помощью ICQ
Ну, понеслась
Цитата:
Оригинал написал(а) Crazy

1. Для функции MM_preloadImages вполне допустим многократный вызов.
Зачем?

Я догадываюсь, зачем это в дримвывере. Но при ручной вёрстке имхо правильнее собрать все картинки в один массив, и вызвать функцию один раз...
Цитата:
При этом она принимает параметрами не только имена картинок, но и константы вида '#.....', которые могут быть использованы верстальщиком в своих целях (например -- для идентификации оригинала файла, из которого делался экспорт).
Принимать-то она их принимает, но совершенно игнорирует. И чего лишние строки гонять туда-сюда? Для вставки комментариев есть специально предназначенный синтаксис
Цитата:
3. Вариант от Macromedia хранит массив в пространстве имен документа, а не в дефолтовом пространстве имен скриптов документа, что снижает вероятность конфликта имен переменных.
Вот здесь хотелось бы узнать поподробнее. На полном серьёзе.

Я, честно говоря, всегда считал, что это один и тот же scope.
Цитата:
4. Передача массива в качестве параметра не дает существенной экономии, однако добавляет верстальщику головной боли: еще одни скобки, за парностью которых нужно следить.
С этим могу согласиться.

Здесь - как кому удобнее. В конце концов, уж это переделать несложно.
Цитата:
Вот по этим причинам код от Macromedia более пригоден к практическому применению.
Соглашусь, что к применению в ДВ он более пригоден (с этим я и не спорил)

Но по моему глубокому убеждению, ручная вёрстка - вещь более правильная. А для этого случая, мой (или любой подобный) код - всё ж таки лучше.
Цитата:
Кроме того, я не вижу в твоем сообщении никаких притензий к качестве работы кода DW.
Да я его просто никогда не использовал, потому и претензий к его работе не имею
Цитата:
P.S. Твой новый подход кардинально отличается от высказанного ранее: там ты не предлагал использовать специальную функцию для загрузки картинок.
Дык там был просто намёк, куда копать, а тут - готовое (почти) решение.

Короче говоря, каждый юзает то, что ему ближе и удобнее

А про пространства имён - всё же интересно.
__________________
Work not wolf - in forest no run

Создать новую тему   Часовой пояс GMT +4, время: 21:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.