|
|
|||||
Регистрация: Jan 2009
Сообщений: 1,651
|
Хмм... Вообще странный вопрос. А сейчас, без "пагинации", вы как данные отображаете? Потому что, если вы их уже как-то отображаете, то добавить разбиение на страницы уже как бы не сложно. Вместо полного списка отображаем, скажем только 20 элементов, плюс добавляем кнопок для перехода со страницы на страницу. При переходе удаляем старые элементы на экране, отображаем новые.
__________________
мой пустой блог |
|
|||||
Регистрация: Dec 2009
Сообщений: 125
|
Кликаем на кнопочку - спрайтик текущей страницы удаляем, новый спрайтик добавляем и показываем в нем что хотим. Все.
|
|
|||||
[+1 10.11.13]
Регистрация: Feb 2013
Сообщений: 52
|
на страницы разбивается текст и картинки, берущиеся их XML, первые 15 картинок и текста на одной странице, на второй следующие 15 картинок и 15 строк текста
Добавлено через 6 минут класс в котором все происходит public class Create_cards extends MovieClip { [Embed(source="../lib/shrift/5102337.ttf",fontName="5102337",mimeType="application/x-font",fontWeight="regular",fontStyle="normal",unicodeRange="U+0030-U+0039,U+002E,U+007B-U+007E,U+00FC-U+00FD,U+0410-U+042F,U+0430-U+0451,U+0020-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E",advancedAntiAliasing="true",embedAsCFF="false")] public const shrift_1:Class; public var form_1:TextFormat; public var myXML:XML = new XML(); public function Create_cards() { var Zag:URLLoader = new URLLoader(); Zag.load(new URLRequest("Polzovateli.xml")); Zag.addEventListener(Event.COMPLETE, init); } private function init(e:Event):void { var tXML:XML = new XML(e.target.data); processXML(tXML); var page:int, total:int; createPageNav(page,total); } private function createPageNav(page:int,total:int):void { //var myXML:XML = aXML var Listanie:PageNav = new PageNav(page,total); addChild(Listanie); Listanie.addEventListener(PageNav.CLICK_p, Perehod); } private function Perehod(e:sEvent):void { /* //trace(myXML) //var myXML:XML = new XML(e.target.data) //var tXML:XML = new XML(e.arg[0]); //var index:int = new int(e.target.id); //var myXML:XML; //trace(myXML) trace("Perehod:", e.arg[0]); var index:int = e.arg[0] if (index == 1) { for (var i:int = 15; i < 30; i++) { //createItem(i,myXML); //trace(i); //trace(myXML); } }*/ } private function processXML(aXML:XML):void { var myXML:XML = aXML var font_1:Array = Font.enumerateFonts(false); Font.registerFont(shrift_1); form_1 = new TextFormat("5102337", 11, 0x29578e, false, false, true); for (var i:int = 0; i < 15; i++) { createItem(i, myXML); } } private function createItem(i:int, myXML:XML):void { var list:XMLList = myXML.children(); var vc:MovieClip = new MovieClip(); var cont_txt:MovieClip = new MovieClip(); var cont_kart:MovieClip = new MovieClip(); addChild(vc); addChild(cont_txt); addChild(cont_kart); vc.x = i % 5 * 142; vc.y = int(i / 5) * 148; vc.addChild(cont_txt); vc.addChild(cont_kart); cont_kart.x = 50; cont_kart.y = 140; cont_txt.x = 50; cont_txt.y = 240; createPhoto(cont_kart, myXML.img[i]); createPole(cont_txt, list['text_' + (i + 1)].text()); //trace(cont_txt, list['text_' + (i + 1)].text()) } private function createPhoto(aCont:MovieClip, aText:String):void { var i:int; var photo1:Loader = new Loader(); photo1.contentLoaderInfo.addEventListener(Event.OPEN, onStart); photo1.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); photo1.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); photo1.load(new URLRequest(aText)); aCont.addChild(photo1); } public function createPole(aCont:MovieClip, aText:String):void { var pole:TextField = new TextField() pole.embedFonts = true; pole.autoSize = TextFieldAutoSize.CENTER; pole.text = aText; pole.setTextFormat(form_1); aCont.addChild(pole); pole.mouseEnabled = false; } private function onComplete(e:Event):void { var maski:MovieClip = new MovieClip() maski.x = 50; maski.y = 130; var photo:Loader = e.target.loader as Loader; var msk:MovieClip = new MovieClip(); for (var j:int = 0; j < 15; j++) { msk.graphics.beginFill(0xffffff, 0.5); msk.graphics.drawRect(j % 5 * 142, (int(j / 5) * 148) + 5, 100, 100); msk.graphics.endFill(); addChild(msk); } photo.height = 100; photo.scaleX = photo.scaleY; photo.mask = msk; maski.addChild(msk); } private function onProgress(e:ProgressEvent):void { //trace("загружено" + Math.floor(photo1.contentLoaderInfo.bytesLoaded / 1024) +" из " + Math.floor(photo1.contentLoaderInfo.bytesTotal / 1024) + " КБ"); //trace(photo1.width); } private function onStart(e:Event):void { //trace("загрузка началась"); } } } И класс в котором будет реализована функция которая создаст четыре кнопки перехода между страницами Он еще с ошибками поэтому не судите строго public class PageNav extends MovieClip { static public const CLICK_p:String = "perehod"; [Embed(source="../Narezka/Vtoraya/strelka_1.png")] public static const strelka_1:Class; [Embed(source="../Narezka/Vtoraya/strelka_2.png")] public static const strelka_2:Class; public var strel_1:Bitmap = new strelka_1(); public var strel_2:Bitmap = new strelka_2(); //public var mas:Array = new Array(1, 2, 3, 4, 5, 6, 7, 8); public var form_1:TextFormat; //public var myXML:XML = new XML(); public var page:int = 2; public var total:int = 30; //public var max_object:int = 15; public function PageNav(page:int, total:int):void { form_1 = new TextFormat("5102337", 11, 0x29578e, false, false, true); //listalka(360,"1",0); //var obj:Object = {a:"foo", b:"bar"} var list_cont:Array = new Array[{coord: 360, text: "1", index: 0}, {coord: 380, text: "2", index: 1}, {coord: 435, text: "Next", index: 1}, {coord: 235, text: "Prev", index: 0}] for (var i:int = 0; i < 4; i++) { listalka(list_cont[i].coord, list_cont[i].text, list_cont[i].index); } //listalka(360,"1",0); //listalka(380,"2",1); //listalka(435,"СЛЕДУЮЩАЯ",1); //listalka(235, "ПРЕДЫДУЩАЯ",0); } public function listalka(aX:int, aText:String, index:int):void { var pole_2:TextField = new TextField() var container:MovieClip = new MovieClip() pole_2.embedFonts = true; pole_2.text = aText; pole_2.setTextFormat(form_1); addChild(container); container.x = aX; container.y = 580; pole_2.width = 80; pole_2.height = 20; container.id = index; container.addChild(pole_2); pole_2.mouseEnabled = false; container.buttonMode = true; container.addEventListener(MouseEvent.CLICK, onPerehodClick); } private function onPerehodClick(e:MouseEvent):void { //trace(e.target.myXML); dispatchEvent(new sEvent(PageNav.CLICK_p, e.target.id)); } } } поправка на ветер, теперь все работает массив не работал осталось самое главное переход между страницами |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
может swfaddress...
|
|
|||||
[+1 10.11.13]
Регистрация: Feb 2013
Сообщений: 52
|
я это должен сделать через класс pagenav который будет отдавать параметры в create_cards, дальше в функции perehod будет реализация......перехода...... пока не продумал еще толком
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
если надо чтоб переход по страничкам был как на этом сайте(у каждой странички свой адрес и прийти можно было сразу допустим на третью) то это swfaddress. а если так не нужно то как выше...
|
|
|||||
[+1 10.11.13]
Регистрация: Feb 2013
Сообщений: 52
|
необходимо по другому не через swfaddress(((
Добавлено через 4 минуты через swfaddress я не совсем понимаю как делать((( |
|
|||||
[+4 06.05.14]
|
Цитата:
package com.in4core.utils.js { import flash.events.EventDispatcher; import flash.external.ExternalInterface; /** * ... * @author in4core progression lab */ public final class DDL extends EventDispatcher { private var _url:String = null; private var _pageTitle:String = null; public function DDL() { if (ExternalInterface.available) trace("DDL Ready"); else trace("EI not available"); } public function get url():String { return _url; } public function set url(value:String):void { _url = value; } public function get pageTitle():String { return _pageTitle; } public function set pageTitle(value:String):void { _pageTitle = value; } public function changeHeader(url:String , title:String):void { this._url = url; this._pageTitle = title; callJSAllHeaders(); this.dispatchEvent(new DDLEvent(DDLEvent.INTERNAL_CHANGE)); } private function callJSAllHeaders():void { if (ExternalInterface.available) { ExternalInterface.call("function(u,t) { window.document.title = t; location.hash = u; }" , this._url , this._pageTitle); } } } }
__________________
Марк Tween |
Часовой пояс GMT +4, время: 09:54. |
|
« Предыдущая тема | Следующая тема » |
|
|