Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.04.2013, 12:46
Маруська вне форума Посмотреть профиль Отправить личное сообщение для Маруська Найти все сообщения от Маруська
  № 1  
Ответить с цитированием
Маруська

Регистрация: Feb 2012
Сообщений: 205
Question Баннер-расхлоп. JavaScript

Доброго дня, дорогие!
Вопрос на засыпку: понадобилось сделать баннер-расхлоп.
Везде пишут, что изменение размера реальзуется простейшим JS/ Но вот каким - никто не пишет. Помогите, пожалуйста. Напишите, какой JS и куда нужно писать.

Всякие RollOver и RollOut на кнопку прописала. Всё работает.. вот только необходимо программное изменение размера по высоте с 90px до 240px, никак реализовать это не могу.

Старый 17.04.2013, 12:52
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Маруська, реализация зависит от требований площадки, которые нужно уточнить. Универсальных решений нет, поэтому запрашивайте техтребования, изучайте их и, по возможности, ищите пример.

Вполне возможно, что "расхлоп" баннера делается с помощью двух независимых флэшек. Одна постоянно находится на странице сайта (та, которая маленькая), вторая показывается, когда первая получает событие onRollOver, вызывает некоторый метод js (который площадкой и обеспечивается), при этом вторая габаритно закрывает первую, поэтому выглядит, как "расхлоп".
__________________
hauts.ru

Старый 17.04.2013, 12:56
Маруська вне форума Посмотреть профиль Отправить личное сообщение для Маруська Найти все сообщения от Маруська
  № 3  
Ответить с цитированием
Маруська

Регистрация: Feb 2012
Сообщений: 205
всё дело в том, что все тех.требования, которых я добилась от сайта выглядят так:
1. Баннер высотой 1100x90, который при наведении:
а) Меняет свою высоту
б) Вызывает внешний js

файл должен быть один

Вот что прислали:
"Пусть это будут глобальные функции adCollapse() и adExpand() без параметров"


Последний раз редактировалось Маруська; 17.04.2013 в 13:09. Причина: дополнение
Старый 17.04.2013, 13:05
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 4  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Маруська, очевидно, что информации маловато.

Думаю, что в лучшем случае нужно еще раз запросить у владельцев сайта информацию о том, какой именно js вызывать. Желательно с настойчивой интонацией, конечно.

Если скажут, что можно использовать свой js-код, то вам, в принципе, не составит большого труда "дернуть" свой js-метод через ExternalInterface и поменять размеры у баннера.

Вообще, по своему опыту (лучше б его не было) скажу — баннеры, особенно те, которые всячески трансформируются — это редкостная морока, большая часть которой связана с передачей информации, а не с реализацией. Сделать примитивный баннер и вызывать некоторый метод на странице — проще простого. Но вот получить достоверную актуальную информацию о том, какой же, все-таки, метод "дергать" — уже проблема. И, чаще всего, она связана с тем, что работает "испорченный телефон" из всякого рода менеджеров, которые ничерта не понимают в техническом плане, но очень стараются своими словами что-то передать или запросить.
__________________
hauts.ru

Старый 17.04.2013, 13:17
Маруська вне форума Посмотреть профиль Отправить личное сообщение для Маруська Найти все сообщения от Маруська
  № 5  
Ответить с цитированием
Маруська

Регистрация: Feb 2012
Сообщений: 205
"дернуть" свой js-метод через ExternalInterface

Вот мне - это очень большой труд.. вообще не секу в js. И что откуда дёргать - не знаю.

Настойчиво просить там не у кого. они там все дибилы

Добавлено через 8 минут
Вот так от меня требуют

В js мы меняем высоту DOM-контейнера, где содержится объект swf. Но вам надо менять высоту самого клипа

Старый 17.04.2013, 13:59
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 6  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Маруська, вы правы.

Я, вероятно, все сказал, чем мог помочь. Спрашивайте как называется js метод, который меняет высоту дом-элемента.
__________________
hauts.ru

Старый 17.04.2013, 14:07
Маруська вне форума Посмотреть профиль Отправить личное сообщение для Маруська Найти все сообщения от Маруська
  № 7  
Ответить с цитированием
Маруська

Регистрация: Feb 2012
Сообщений: 205
как-то можно внутри swf-ки менять её размер?

Старый 17.04.2013, 14:33
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 8  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Теоретически да, но вам это весьма проблематично будет.
__________________
hauts.ru

Старый 17.04.2013, 14:34
Маруська вне форума Посмотреть профиль Отправить личное сообщение для Маруська Найти все сообщения от Маруська
  № 9  
Ответить с цитированием
Маруська

Регистрация: Feb 2012
Сообщений: 205
Цитата:
Сообщение от Hauts Посмотреть сообщение
Теоретически да, но вам это весьма проблематично будет.
Но мне это очень нужно.

Старый 17.04.2013, 14:58
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 10  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
import flash.external.ExternalInterface;
function resizeInHTML(width, height) {
	_global.__jsId = Math.random();
	if (!_root.__getJsId) {
		_root.__getJsId = function() {
			return _global.__jsId;
		};
		ExternalInterface.addCallback("__getJsId",_root, _root.__getJsId);
	}
	var callFunction = "function(needId,width,height){";
	callFunction += "var elements = document.getElementsByTagName('object');";
	callFunction += "for(var k = 0 ; k < elements.length; k ++){";
	callFunction += "var element = elements[k];";
	callFunction += "if(element.__getJsId != undefined){";
	callFunction += "if(needId == element.__getJsId()){";
	callFunction += "element.style.width = width;";
	callFunction += "element.style.height = height;";
	callFunction += "return;";
	callFunction += "};";
	callFunction += "}";
	callFunction += "}";
	callFunction += "}";
	ExternalInterface.call(callFunction,_global.__jsId,width,height);
}
 
// Test:
this.onMouseDown = function() {
	resizeInHTML(100 + Math.floor(Math.random() * 100) + "px",100 + Math.floor(Math.random() * 100) + "px");
};
Не ручаюсь, что будет хорошо работать во всех браузерах.

P.S. Тестировать не локально.
__________________
hauts.ru

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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