Форум 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)
-   -   Хочется убрать DIV Layer. (http://www.flasher.ru/forum/showthread.php?t=78154)

magia2 10.04.2006 17:24

Хочется убрать DIV Layer.
 
Ребята, помогите, вот такая вот проблемка..
есть значит, div лейер в html, хочу убирать его и показывать при нажатии кнопки которая уже во flash...
пока ничего не получается ((((

olegn 10.04.2006 17:36

Ну так все просто
 
:rtfm: На событие своей кнопки во Flash ставишь выполние fscommand.
Код:

on (release) {
 fscommand('showDiv', true);
}
//true например это сделать видимым

Пишешь на JavaScript функцию, которая скрывает или делает видимым твой DIV. Ну и потом вызываешь эту JavaScript функцию, обрабатывая отклик на fscommand.
Если ты так и делаешь, то проблема, что не получается - локальная, где-то какие-то небольшие ошибки. Синтаксис проверь...

magia2 10.04.2006 17:46

olegn, дело все в том что я мало понимаю во всем этом,
но dreamwaver с помощью behaviors сгенерировал мне джаву....
и вот такой вот линк... чтобы убирать например мой слой.....
а вот как в флеше это прописать ((((

onclick="MM_showHideLayers('Layer1','','hide')"

magia2 10.04.2006 17:47

on (release) {
fscommand('MM_showHideLayers', hide);
}

вот так вот не получается.. (((

olegn 10.04.2006 17:52

Не получается по двум причинам:
1. у тебя функция MM_showHideLayers имеет два аргумента, а ты из fscommand посылаешь ей один (а только один параметр и можно передать, если нужно несколько, сшей их в один, а в функции-приемнике раскодируй)
2. У тебя на html странице вообще обработка fscommand присутствует?
По поводу "мало понимаю". Ну так ты разбирайся!

magia2 10.04.2006 17:55

вот скрипт.. увы я в этом мясе. мало что понимаю... ((

<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>

magia2 10.04.2006 17:57

вот так вот ... тоже не работает ((


on (release) {
fscommand(MM_showHideLayers('Layer1','','hide'));
}

olegn 10.04.2006 18:02

Цитата:

Сообщение от magia2
fscommand(MM_showHideLayers('Layer1','','hide'));

Это вообще не fscommand, а фигня какая-то:rtfm: . Ты просто для начала Help посмотри про fscommand, там есть примеры, сразу легче станет.
P.S. А Dreamweaver лепит при самостоятельном создании функций много всякой своей служебной ерунды, которая ему потом позоляет эти функции в коде распознавать и изменять. Ты лучше свою функицю пиши. Если конечно, хочешь научиться и разобраться.

KPaul 10.04.2006 18:27

Если нет лимитов на браузер или на версию флеша, то лучш используй ExternalInterface. смотри хелп к 8-ке.

olegn 10.04.2006 18:31

Цитата:

Сообщение от KPaul
лучш используй ExternalInterface. смотри хелп к 8-ке.

Да он и с fscommand еще не разобрался:umnik2:

yuran1989 08.06.2006 16:34

люди добрые, подскажите, как при нажатии на кнопку скрыть один слой???
я во флэше совсем дуб, пытался так:
on (press) {
hideshowlayer("layer1")
}

iNils 08.06.2006 17:45

Ваш вопрос из другой темы. Создайте новую тему в разделе для начинающих.
Пользуйтесь тегами форматирования кода [ code ] [ /code ] (без пробелов).


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

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