PDA

Просмотр полной версии : Резиновый сайт. Как сделать ограничение на "ресайз"?


Art_133
11.09.2008, 03:44
Здравствуйте уважаемые форумчане. Делаю резиновый сайт который тянется по оси _x и _y. Для этого использую уже готовый скрипт, который не раз упоминался на этом форуме и думаю знаком:

Stage.scaleMode = "noScale";
Stage.align = "TL";
var resize_obj = {};
resize_obj.normal_width = 400;
resize_obj.normal_height = 300;
resize_obj.position = [square,
circle,
triangle,
TF0, TF1,
TF2, TF3
];
resize_obj.onResize = function()
{
var clip;
for (var i in this.position) {
clip = this.position[i];
clip._x = Stage.width*clip._xRatio;
clip._y = Stage.height*clip._yRatio;
}
};
Stage.addListener(resize_obj);
var clip;
for (var i in resize_obj.position) {
clip = resize_obj.position[i];
clip._xRatio = clip._x/resize_obj.normal_width;
clip._yRatio = clip._y/resize_obj.normal_height;
}
Но есть проблемма. У заказчика широкоформатный монитор и по вертикали относительно узкий и при этом елементы находят один на один.
Вопрос: как можно сделать ограничение на минимальные ресайз. Тоесть прописать где-нибудь к примеру:
if (stage.height<600) {
delete onResize();
}
Знаю пример грубый и тупой но думаю он разьесняет что конкретно необходимо. Если я не доходчиво обьяснил то готов разьяснить, только скажите.
П.С. очень надесюсь на решение проблеммы т.к. из-за этого может сгореть весь проект.
За ранее огромное спасибо.

Уважаемые модераторы. Код был взят из этого ресурса (http://noregret.org/tutor/elastic/). Я его не выковыривал декомпилятором.

Double
11.09.2008, 07:15
resize_obj.onResize = function()
{
if (Stage.height<600) return;
это ерунда, важно в html в этом случае грамотно организовать прокрутку )

Art_133
11.09.2008, 11:27
Я понимаю что это бред. Как можно организовать это в ХТМЛ и реально ли это сделать именно во флэше?

AlexDesinger
11.09.2008, 11:39
ну попробуйте так для начала:
var ok = true;
resize_obj.onResize = function() {
trace(ok);
if (ok == true) {
//действия с ресайзом
}
if (Stage.height<200) {
ok = false;
}
if (Stage.height>200) {
ok = true;
}
};
сорри, вот поправил а то условие не возвращает true

Art_133
11.09.2008, 13:05
2 AlexDesinger Спасибо! Сейчас попробую!
2 Double Ваш способ работает. Когда окно становится меньше 600 пикселей по высоте то остальные елементы не двигаются а просто скрываются за гранью ролика. Скажите как себя будет вести флэш в браузере? Будет ли появлятся скроллер с права? Или это уже вопрос к кодеру?