PDA

Просмотр полной версии : смена Z-index через Flash


AlinaSilaeva
05.10.2009, 20:28
Привет, господа!
Не подскажете ли, как реализовать смену Z-index в html через flash? То есть нужна такая функция на JS чтобы в определенном DIV менялся style="margin: 10px; z-index:0;" на style="margin: 10px; z-index:10;" с помощью флешки, вызовом через a = 10;
getUrl("javascript:change_index("+a+")");
Возможно, ошиблась разделом.
СПАСИТЕ! спасибо)

mooncar
05.10.2009, 22:28
У вас две задачи:

1. Написать в коде страницы работающую функцию JS по смене style для вашего блока.
Как это сделать, написано в достаточно известной статье:
http://www.noinimod.ru/43/
Только вместо скрытия-показа блока, как в статье, сделайте в функции параметр z-индекс, который и будет меняться.
Что-то вроде:

function change(z_index) ....
А id узла, использующийся в примере статьи (nodeId) для нахождения на странице нужного блока, можно сделать константой, если меняется стиль только у одного блока.
Прямо скажу - точную функцию для вашей задачи не подскажу, JS практически не знаю, и когда нужно что-то сделать на JS, разбираюсь на ходу.
К тому же статья хорошая и все понятно, разберитесь.

2. Вторая задача - вызывать эту функцию из флеша. Посоветую использовать зарекомендовавший себя класс ExternalInterface.
Наберите в хелпе ExternalInterface.call и посмотрите пример. Сделайте аналогично.
(Если удастся с помощью getURL, то делайте так, я сам никогда не использовал конкретно для таких целей getURL)
Передавайте ей параметр из флеша при вызове с помощью ExternalInterface.call

import flash.external.*;
a = 10;
ExternalInterface.call('change', a);
Возможно, но не уверен, что в JS для корректной работы функции передавать параметр нужно будет, приведя его к строчному типу данных:
ExternalInterface.call('change', String(a));
Проверите, в общем, сами.