Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   Спрятать html слой из флеша, (http://www.flasher.ru/forum/showthread.php?t=92040)

novicer 14.02.2007 11:16

Спрятать html слой из флеша,
 
задача такая - есть динамический слой в html в нем всякая ерунда
какой скрипт нужно посадить на флеш кнопку чтобы при нажатии слой скрывался...

понятное дело в дримфивере я смог это сделать.
ну при нажатии например на картинку или ссылку
так вот как из флеша передать скрипту чтобы он срыл или показал слой?

пропарился уже 3 дня ((
заранее огромное спасибо

Blind Garret 14.02.2007 11:29

Код:

кнопка.onRelease = function () {
      getURL("javascript: функция_прячущая_слой();");
}


novicer 14.02.2007 11:51

вот я так понимаю функция

MM_showHideLayers('Layer1','','hide')



кидаю на кнопку

on (press) {

onRelease = function () {
getURL("javascript: MM_showHideLayers('Layer1','','hide')");
}
}

ничего не работает ((

Blind Garret 14.02.2007 12:01

Цитата:

Сообщение от novicer
вот я так понимаю функция

MM_showHideLayers('Layer1','','hide')



кидаю на кнопку

on (press) {

onRelease = function () {
getURL("javascript: MM_showHideLayers('Layer1','','hide')");
}
}

ничего не работает ((

Ввел в заблуждение. На кнопку хватит просто:
Код:

on (press) {
    getURL("javascript: MM_showHideLayers('Layer1','','hide')");
}


novicer 14.02.2007 14:48

и опятьтакие не работает (( самое интересно что в дримфивере эта функция работает ((((( я про то что если например сделать кнопку из картинки
а из флеша зараза не хочет ( что делать то

novicer 14.02.2007 15:49

делаю вот так -

on (press) {
getURL("javascript:objectName = MM_showHideLayers('Layer1','hide') ");
}

тоже нефика не реагирует

novicer 14.02.2007 16:08

а вот сама функция

Код:

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; }
}


novicer 14.02.2007 21:51

огромное спасибо ! усе разобрался ну и гимор

etc 14.02.2007 22:36

novicer получает предупреждение за нарушение третьего пункта правил раздела. Оформите свой код, как полагается.

KidsKilla 15.02.2007 14:03

Цитата:

Сообщение от novicer
а вот сама функция

Код:

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; }
}


ну и огород...

для скрытия слоя достаточно прописать ТОЛЬКО во флешке:

Код:

on (press) {
    getURL("javascript: document.getElementById( 'Layer1' ).style.display = 'none';");
}

а для того чтобы его опять показать:

Код:

on (press) {
    getURL("javascript: document.getElementById( 'Layer1' ).style.display = 'block';");
}



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

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