Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   pop-up заданного размера (http://www.flasher.ru/forum/showthread.php?t=94090)

darkzip 04.04.2007 10:15

pop-up заданного размера
 
Есть галерея, в которой скажем 70 превью картинок, при нажатии на каждую открывается "большой" jpeg этой превьюшки с использованием такого кода:

Код:

on (press) {
        getURL("javascript:spawnWindow('name.jpg','','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=640,height=480')");
}

Вопрос вот в чём. У меня есть "большие" jpeg двух размеров 640х480 или 480х640. Как можно упросить процесс написания данного кода для 70-ти кнопок?! То есть, можно ли как-то задать два вида размеров этих, например 'hor' и 'vert', А далее в кнопках уже прописывать вместо width=640,height=480 - просто hor и так же для вертикальных.


--------
Либо вопрос проще - как-то можно научить флэш при нажатии на превью открывать большой jpeg (в новом окне) без лишнего пространства (т.е. если она 640х480 то и откроется без границ и скроллов и меню в окне 640х480).?

CorC 04.04.2007 10:18

ведь картинка где-то описана
напимер в ХМЛ
тогда там же можно хранить и высоту с шириной
а потом считывать и подставлять в onPress

darkzip 04.04.2007 10:21

Я XML не умею пользовать. Картинки лежат просто в папке, оттуда и открываются описанным выше кодом. но каждый раз менять 70 кнопок - очень сложно (т.к. меняется ориентация картинок).

CorC 04.04.2007 10:27

вот для этого и нужно их описать в ХМЛ :)

Vit025 04.04.2007 10:58

Тут конечно XML лучше всего.

Еще как вариант сделай Array из 70 элементов, типа
Код:

var my_array:Array = new Array(1,0,0,1);
где 1 - вертикальная картинка, а 0 - горизонтальная. Потом цикл

Код:

(for i=0; i<=69; i++) {
// в цикле проверяй расположение фотки
if(my_array[i]==1) {
//код такой то
} else {
// код такой то
}

}

Но лучше таки с XML разберись. Там ничего сложного нет.

И вообще, нужен ли flash для ТАКОЙ задачи? Тут проще php использовать по моему.
Или таки показывать фотки прямо в swf без всяких попапов.

darkzip 04.04.2007 11:07

Нет, мне нужен pop-up именно, ХМЛ сложно. Если код покажешь, я бы разобрался.=)

Думаю есть способ "Схитрить" именно в AS. Как-то задать две переменные (горизонтальная и вертикальная) и сказать каждой кнопке об этом...

или сделать Горизонтальная = 2, 3,6,10...картина, Вертиальная 1,4,5...

CorC 04.04.2007 11:15

вы советы читаете?
http://flasher.ru/forum/showpost.php...85&postcount=5

darkzip 04.04.2007 11:28

Да, но как этот код в цикле к кнопкам привязать?
Именно, чтобы в коде кнопки вставлялся width=640,height=480 или обратный ему width=480,height=640?

Помогите иначе.

как сделать следуюущее:

Я задаю что переменные b1, b2, b3 = "width=640,height=480";
переменные b4, b5, b6 = "width=480,height=640";

Помогите теперь верно пунктуацию записать в коде (чтобы вместо hor = "width=xxx,height=xxx"; было в каждой кнопке b1, b2 и т.д.

CorC 04.04.2007 12:20

Код:

var my_array:Array = new Array(1,0,0,1);
for(var i=0; i<70; i++) {
  this["Button"+i].i=my_array[i];
  this["Button"+i].onPress=function(){
      if(this.i==1){
        getURL("javascript:spawnWindow('name.jpg','','tool bar=no,location=no,status=no,menubar=no,scrollbars =no,resizable=no,width=640,height=480')");
      }else{
        getURL("javascript:spawnWindow('name.jpg','','tool bar=no,location=no,status=no,menubar=no,scrollbars =no,resizable=no,width=480,height=640')");
      }
  }
}

Но лучше таки с XML разберись. Там ничего сложного нет.

и еще мне кажется что вас забанят за нарушение аж 2 правил форума :)

etc 04.04.2007 14:45

Цитата:

Сообщение от CorC
и еще мне кажется что вас забанят за нарушение аж 2 правил форума :)

Нет, пока плюсом ограничатся.


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

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