![]() |
проблема со скроллингом колеса
Столкнулся с такой проблемой - есть флэш сайт, есть там поле с контентом и скроллингом и сам сайт в браузере тоже скроллируется стандартным скроллингом, так вот стоит потягать скроллинг как колесо тупо привязывается к области скроллирования и стандартный скроллинг браузера перестаёт реагировать на колесо мыши, кто знает как с помощью AS это пофиксить ?
|
Вызвать javascript, котороый вернут фокус на html страницу
|
хм не уловил идею, я в JS не особо шарю но если вы объясните принцип то я объясню программисту...
тут ещё одна идея в голове мелькала не знаю получится или нет - сделать работоспособность скрипта колеса мыши только если курсор мыши находится в поле скроллируемого во флэшине контента, если же нет тогда скрипт не пашет, только вот вернет ли это скроллирование всей страницы не знаю... |
События от колеса получает то приложение, которое имеет на себе фокус. По умолчанию, фокус находится на html странице и скролируется она. Когда вы кликнули по флешу, события начинает получать флеш, а не страница. Поэтому надо сместить фокус обратно. Если вы говорите о js программисте, то он должен знать как это делать.
|
а как через AS сделать вызов яваскрипта ?
|
Через класс flash.external.ExternalInterface
|
Апдейт:
Цитата:
вот JS в хеде: Цитата:
АПДЕЙТ вот вроде правильный скрипт проверяющий наличие курсора мыши в поле контента, только вызов функции я помоему неправильно написал Код:
onEnterFrame = function () { |
Пффф... ты убрал мышку с flash ролика. Что будет возвращать _xmouse и _ymouse?
Напомню, что flash - безобидейшее существо, получить _xmouse и _ymouse он НЕ может, когда мышка находиться вне флэш ролика (исключение баг с dragOut`ом из флэш ролика). Вывод: тот код, что ты написал выше нужно переделать под js, то есть вызвать его из js`a. |
Цитата:
|
Попытаюсь ещё раз внятно описать проблему...
Есть поле с определенными координатами - это область в которой во флэшке скроллируется контент, я описал эту область в скрипте, исходя из trace-а она описана верно и работает верно и к ней не возвращаемся, вопрос у меня только 1 - как правильно запускать JS функцию ? Вот мой скрипт... Код:
import flash.external.ExternalInterface; |
Psycho Tiger верно сказал, в AS2 нет возможности отследить находится ли курсор в предлах флеша или за пределами.
То есть, когда мышь уходит за пределы флешки размером по ширине 900, то _root._xmouse будет в пределах 0-900. |
Да блин какой за пределами, всё это находится внутри флэшки, описана координатами область ВНУТРИ флэшки, забейте вы на это там всё верно меня интересует вопрос другой, как правильно запускать JS из флэша и где я допустил ошибку в скрипте запуска. Помогите плиз, все выходные продолбался так и не понял в чем ошибка (((
|
а что, в джаваскрипте можно не писать function перед функцией?
И зачем у Вас "или" в условии? Или по иксу попали, или по игреку - находимся в контенте? Наверно И по иксу попали, И по игреку? т.е. везде && должен быть. |
да, вы правы на счёт или... вот сделал наглядный пример:
http://djb.at.ua/flashtest.html он четко показывает структуру моей флэшки, смысл - срабатывание функции яваскрипта когда мы вне контента, вот скрипт: Код:
onEnterFrame = function () {Вот JS в коде сайта: Код:
<script>как я понял JS правильно должен выглядеть так: Код:
<script type="text/javascript" language="javascript">АПДЕЙТ !!! После правки JS и пары тестов всё заработало !!!!!!! Спасибо вам огромное мужики !!!! один минус - постоянно обрабатываемая функция возврата фокуса не позволяет выделить урл сайта как сделать запрос чтобы если функция активна скрипт перестал её обрабатывать ? т.е. если функция myFocus уже запущена всё, закончил наконец скроллинг, просто привязал скрипт к мувику а запуск функции засунул в него может не очень гламурно реализовал за-то всё работает, ещё раз всем большое спасибо за помощь и сорри за флуд |
вот как говорится вроде было всё нормально но тут снова пошли глюки... казало сь бы функция JS
Код:
<script type="text/javascript" language="javascript">Флэшка сбрасывает фокус в IE и FF, но в опере в упор отказывается сбрасывать фокус, исходя из того что в первых двух браузерах всё работает следовательно из флэша JS вызывается нормально, ну и сам JS вроде как глобален для всех браузеров, почему в опере не хочет не понимаю... Вот посмотрите пожалуйста пример: http://hotelrus.com.ua/test/test.html Может у меня просто опера кривая ? а то попахивает это всё какой-то парадоксальностью, что опера window.focus() не может вызвать Исходник тут:http://hotelrus.com.ua/test/test.rar |
| Часовой пояс GMT +4, время: 19:15. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.