![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2010
Сообщений: 24
|
есть динамическое текстовое поле в котрое подгружается текст из html кода страниц. Также есть кнопка "содержание" и кнопки "листать вперед и назад".
Так вот подскажите как сделать так,чтобы после того как я перейду по ссылке со страницы содержание на какую нить 25 страницу, и нажав "вперед" - флеш не перекидывал меня снова на самую первую страницу??? Так вот как мне подсказали это надо сделать с массивом, вот что вышло: (это уже с массивом код,но нехрена не работает) import flash.events.Event; import flash.net.URLRequest; //ссылки на страницы var request00:URLRequest = new URLRequest("priv.html"); var request01:URLRequest = new URLRequest("text0.html"); var request02:URLRequest = new URLRequest("text1.html"); var request03:URLRequest = new URLRequest("text2.html"); var request04:URLRequest = new URLRequest("text3.html"); //создаем объект-загрузчик var pages:Array = new Array("text0.html");// создаем массив, первый элемент вписываем var loader1:URLLoader = new URLLoader(); //грузим в него титульную страницу, которая будет отображаться при запуске приложения loader1.load(request00); //слушаем, когда загрузка окончится loader1.addEventListener(Event.COMPLETE, requestComplete1); //при нажатии данных кнопок выполняется переход по страницам вперед и назад but1.addEventListener(MouseEvent.CLICK, onClickForward); but2.addEventListener(MouseEvent.CLICK, onClickBack); var i:uint = 1; function onClickForward(e:MouseEvent):void { i += 1; if (i > 4) { i = 4; } var url:URLRequest = new URLRequest(String("text" + String(i) + ".html")); // loader1.unload(); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } function onClickBack(e:MouseEvent):void { i -= 1; if (i <= 0) { i = 1; } var url:URLRequest = new URLRequest(String("text" + String(i) + ".html")); //loader1.unload(); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } function clickHandler(e:TextEvent):void { //e.text - содержание ссылки loader1.load(new URLRequest(e.text)); pages.push(e.text); } function goBack(e:MouseEvent):void{ pages[pages.length-2] loader1.load(new URLRequest(String(pages[pages.length-2]))); loader1.addEventListener(Event.COMPLETE, requestComplete1); pages.push(pages[pages.length-2]); } //по окончании загрузки function requestComplete1(e:Event):void{ //отображаем загруженный текст в текстовом поле output_txt.htmlText = e.target.data; } |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Может начать писать в классах? Сайт это не мультик, и даже не банер.. как можно строить приложение - в кадрах?? Налицо беспорядок с видимостью переменных.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2010
Сообщений: 24
|
я не сайт делаю..а эл.учебник как бэ... я знаю что беспорядок,но у меня нет времени практически изучат ьскрит,так как диплом сдавать через неделю( .. поэтому и прошу помочь...
Последний раз редактировалось palaten4iko; 15.05.2010 в 16:42. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Если я правильно понял (что затруднительно - по два обработчика непонятно чего, что такое кликХендлер, что такое гоБэк и кликБэк хендлеры.. Вы бы объясняли, мы ж не телепаты), Вам надо при клике в "содержании" задать значение для i (назовите свойства говорящими именами - самому же легче будет). Оно ведь по-умолчанию 0, и когда кликаете дальше - он и листает дальше. Т.е. кликнули 25-ю страницу - надо задать что i = 25. А уж где у Вас обработчик кликов "содержание" - я понятия не имею.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2010
Сообщений: 24
|
ээм... я сам честно с трудом понимаю этот массив,потмоу что не я его писал.. только остальное в коде могу разьяснить...
функции onClickForward и onClickback это как раз листание страниц учебника вперед и назад... вот код без массива вабще,полностью рабочий,который как раз просто листает страницы: import flash.events.Event; import flash.net.URLRequest; //ссылки на страницы var request00:URLRequest = new URLRequest("priv.html"); var request01:URLRequest = new URLRequest("text0.html"); var request02:URLRequest = new URLRequest("text1.html"); var request03:URLRequest = new URLRequest("text2.html"); var request04:URLRequest = new URLRequest("text3.html"); //создаем объект-загрузчик var loader1:URLLoader = new URLLoader(); //грузим в него титульную страницу, которая будет отображаться при запуске приложения loader1.load(request00); //слушаем, когда загрузка окончится loader1.addEventListener(Event.COMPLETE, requestComplete1); //при нажатии данных кнопок выполняется переход по страницам вперед и назад but1.addEventListener(MouseEvent.CLICK, onClickForward); but2.addEventListener(MouseEvent.CLICK, onClickBack); var i:uint = 1; function onClickForward(e:MouseEvent):void { i += 1; if (i > 4) { i = 4; } var url:URLRequest = new URLRequest(String("text" + String(i) + ".html")); // loader1.unload(); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } function onClickBack(e:MouseEvent):void { i -= 1; if (i <= 0) { i = 1; } var url:URLRequest = new URLRequest(String("text" + String(i) + ".html")); //loader1.unload(); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } } //по окончании загрузки function requestComplete1(e:Event):void{ //отображаем загруженный текст в текстовом поле output_txt.htmlText = e.target.data; } import flash.events.Event; import flash.net.URLRequest; //ссылки на разделы var requestSod:URLRequest = new URLRequest("Sod.html"); //создаем объект-загрузчик var loaderSod:URLLoader = new URLLoader(); //при нажатии данных кнопок выполняются определенные функции, в данном случае происходит загрузка страницы sod_btn.addEventListener(MouseEvent.CLICK, onClickSod); output_txt.addEventListener(TextEvent.LINK,_onTxtLinkSelected); //сами функции, function onClickSod(e:MouseEvent):void{ loaderSod.load(requestSod);//грузим первую страницу loaderSod.addEventListener(Event.COMPLETE, requestCompl);//ждем окончания загрузки } function _onTxtLinkSelected(e:TextEvent):void{ var url:URLRequest = new URLRequest(e.text); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } //по окончании загрузки function requestCompl(e:Event):void{ //отображаем загруженный текст в текстовом поле output_txt.htmlText="<a href='event:text0.html'>первая</a>"+ "<br><a href='event:text1.html'>вторая</a>"+ "<br><a href='event:text2.html'>третья</a>"+ "<br><a href='event:text3.html'>четвертая</a>"; } |
|
|||||
|
Я не знаю будет ли работать так, потому что мне не понятно взаимодействие между собой двух кусков кода.
import flash.events.Event; import flash.net.URLRequest; //ссылки на страницы //var request00:URLRequest = new URLRequest("priv.html"); //var request01:URLRequest = new URLRequest("text0.html"); //var request02:URLRequest = new URLRequest("text1.html"); //var request03:URLRequest = new URLRequest("text2.html"); //var request04:URLRequest = new URLRequest("text3.html"); var requests:Array=["priv.html","text0.html","text1.html","text2.html","text3.html"]; //создаем объект-загрузчик var loader1:URLLoader = new URLLoader(); //грузим в него титульную страницу, которая будет отображаться при запуске приложения loader1.load(request00); //слушаем, когда загрузка окончится loader1.addEventListener(Event.COMPLETE, requestComplete1); //при нажатии данных кнопок выполняется переход по страницам вперед и назад but1.addEventListener(MouseEvent.CLICK, onClickForward); but2.addEventListener(MouseEvent.CLICK, onClickBack); var i:uint = 1; function onClickForward(e:MouseEvent):void { i += 1; if (i > 4) { i = 4; } var url:URLRequest = new URLRequest(requests[i]); // loader1.unload(); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } function onClickBack(e:MouseEvent):void { i -= 1; if (i <= 0) { i = 1; } var url:URLRequest = new URLRequest(requests[i]); //loader1.unload(); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } } //по окончании загрузки function requestComplete1(e:Event):void{ //отображаем загруженный текст в текстовом поле output_txt.htmlText = e.target.data; } import flash.events.Event; import flash.net.URLRequest; //ссылки на разделы var requestSod:URLRequest = new URLRequest("Sod.html"); //создаем объект-загрузчик var loaderSod:URLLoader = new URLLoader(); //при нажатии данных кнопок выполняются определенные функции, в данном случае происходит загрузка страницы sod_btn.addEventListener(MouseEvent.CLICK, onClickSod); output_txt.addEventListener(TextEvent.LINK,_onTxtLinkSelected); //сами функции, function onClickSod(e:MouseEvent):void{ loaderSod.load(requestSod);//грузим первую страницу loaderSod.addEventListener(Event.COMPLETE, requestCompl);//ждем окончания загрузки } function _onTxtLinkSelected(e:TextEvent):void{ i=requests.indexOf(String(e.text)); var url:URLRequest = new URLRequest(e.text); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } //по окончании загрузки function requestCompl(e:Event):void{ //отображаем загруженный текст в текстовом поле output_txt.htmlText="<a href='event:text0.html'>первая</a>"+ "<br><a href='event:text1.html'>вторая</a>"+ "<br><a href='event:text2.html'>третья</a>"+ "<br><a href='event:text3.html'>четвертая</a>"; } Последний раз редактировалось incvizitor; 15.05.2010 в 20:07. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Добавьте ссылки на все страницы в массив, а в содержании - в event только индекс массива, по которому находится ссылка на эту страницу.
import flash.events.Event; import flash.net.URLRequest; //ссылки на страницы var pages:Array = ["priv.html", "text0.html", text1.html, "text2.html", "text3.html"]; //создаем объект-загрузчик var loader1:URLLoader = new URLLoader(); //грузим в него титульную страницу, которая будет отображаться при запуске приложения loader1.load(new URLRequest(pages[0])); var i:uint = 0; //слушаем, когда загрузка окончится loader1.addEventListener(Event.COMPLETE, requestComplete1); //при нажатии данных кнопок выполняется переход по страницам вперед и назад but1.addEventListener(MouseEvent.CLICK, onClickForward); but2.addEventListener(MouseEvent.CLICK, onClickBack); function onClickForward(e:MouseEvent):void { i = Math.min(i + 1, 3); var url:URLRequest = new URLRequest(pages[i]); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } function onClickBack(e:MouseEvent):void { i = Math.max(i - 1, 0); var url:URLRequest = new URLRequest(pages[i]); //loader1.unload(); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } function clickHandler(e:TextEvent):void { //e.text - содержание ссылки loader1.load(new URLRequest(pages[Number(e.text)])); } /* не знаю что это. function goBack(e:MouseEvent):void{ loader1.load(new URLRequest(String(pages[pages.length-2]))); loader1.addEventListener(Event.COMPLETE, requestComplete1); pages.push(pages[pages.length-2]); }*/ //по окончании загрузки function requestComplete1(e:Event):void{ //отображаем загруженный текст в текстовом поле output_txt.htmlText = e.target.data; } function _onTxtLinkSelected(e:TextEvent):void{ i = Number(e.text); var url:URLRequest = new URLRequest(pages[i]); loader1.load(url); loader1.addEventListener(Event.COMPLETE, requestComplete1); } //по окончании загрузки function requestCompl(e:Event):void{ //отображаем загруженный текст в текстовом поле output_txt.htmlText= "<a href='event:0'>первая</a>"+ "<br><a href='event:1'>вторая</a>"+ "<br><a href='event:2'>третья</a>"+ "<br><a href='event:3'>четвертая</a>"; }
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2010
Сообщений: 24
|
Wolsh спасибо огроменное вам!!! очень помогли,работает как надо!!!
|
![]() |
![]() |
Часовой пояс GMT +4, время: 07:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|