![]() |
|
||||||||||
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
Скриптами: 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++ |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
![]() Цитата:
Цитата:
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
Регистрация: Feb 2002
Адрес: Саратов
Сообщений: 93
|
2 Crazy:
А разве это все ? Разве не вставляется описание самих ф-ий и не по-другому выглядит описание ролловеров ?
__________________
Funciona situando las manos bajo el secador |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
Цитата:
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
Цитата:
Цитата:
Цитата:
Цитата:
![]()
__________________
Work not wolf - in forest no run |
|
|||||
|
Итак, вот наш пациент:
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 |
|
|||||
|
[+1 23.05.11]
Регистрация: 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++ |
|
||||||||
|
Ну, понеслась
Цитата:
Я догадываюсь, зачем это в дримвывере. Но при ручной вёрстке имхо правильнее собрать все картинки в один массив, и вызвать функцию один раз... Цитата:
Цитата:
Я, честно говоря, всегда считал, что это один и тот же scope. Цитата:
Здесь - как кому удобнее. В конце концов, уж это переделать несложно. Цитата:
![]() Но по моему глубокому убеждению, ручная вёрстка - вещь более правильная. А для этого случая, мой (или любой подобный) код - всё ж таки лучше. Цитата:
Цитата:
Короче говоря, каждый юзает то, что ему ближе и удобнее ![]() А про пространства имён - всё же интересно.
__________________
Work not wolf - in forest no run |
![]() |
Часовой пояс GMT +4, время: 21:49. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|