Tengo el siguiente codigo para mostrar noticias. Funciona perfecto pero necesito saber si alguien sabe hacerle las siguientes modificaciones:
- Que hacer o como duplicar el codigo para que no aparezca una sola noticia, sino que aparezcan las tres simultaneas o que por ultimo aparezcan numeros con la cantidad de noticias que hay y que una vez que uno le haga click, esta pase a ser la principal.
- Como hacer para que de la ultima noticia vuelva a la primera.
- Y por ultimo, como hacer para que al cambiarlas al menos la foto sea con fade out y fade in.
Por favor que alguiuen me ayude ya que ando hace tiempo tratando de hacerlo.
El codigo es el de Cristalab:
Código:
//Permite caracteres tradicionales como letras con tilde la ñ, etc.
System.useCodepage = true;
//Se declara la variable indice de tipo número (utilizada para referencia la noticia a mostrar)
var indice:Number;
//Se declara la variable noticias_xml de tipo XML (utilizada para almacenar el documento xml)
var noticias_xml:XML;
/*
Funcion cargarDatos (utilizada para cargar y cambiar las noticias en el documento)
Esta función recibe un parámetro "_indice" que corresponde al elemento noticia a mostrar
*/
function cargarDatos(_indice:Number) {
//Se inicializan variables utilizadas para almenar los datos de una noticia
var fecha:String;
var titulo:String;
var mensaje:String;
var imagen:String;
//Recuperando datos del objeto xml
//Se accede al primer elemento [noticia] y se recupera la fecha desde el atributo [fecha]
fecha = noticias_xml.firstChild.childNodes[_indice].attributes.fecha;
//Se accede al primer hijo de elemento [noticia] y se recupera al valor del primer elemento de [titulo]
titulo = noticias_xml.firstChild.childNodes[_indice].firstChild.firstChild.nodeValue;
//Se accede al segundo hijo de elemento [noticia] y se recupera el valor del primer elemento de [mensaje]
mensaje = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.firstChild.nodeValue;
//Se accede al último hijo de elemento [noticia] y se recupera el valor del primer elemento de [imagen]
imagen = noticias_xml.firstChild.childNodes[_indice].lastChild.firstChild.nodeValue;
//Mostrando los datos recuperados en el cuado de texto mensaje_txt y cargando la imagen en pantalla_mc
_root.mensaje_txt.htmlText = "";
_root.mensaje_txt.htmlText += "<p align='center'><font color='#FFFFFF' size='12' face='Verdana, Arial, Helvetica'><b>"+titulo+"</b></font></p>";
_root.mensaje_txt.htmlText += "<p><font size='10' color='#FFFFFF'>"+mensaje+"</font>";
_root.mensaje_txt.htmlText += "<font color='#666666' size='10'>Publicado: "+fecha+"</font></p>";
//Cargado la imagen JPG externa en el clip pantalla_mc con el valor recuperado del objeto xml
_root.pantalla_mc.loadMovie(imagen);
}
//Función que permite avanzar a la [noticia] siguiente almacenada en el objeto xml
siguiente_btn.onPress = function() {
//comprobando si existe el siguiente elemento [noticia]
if (noticias_xml.firstChild.childNodes[indice+1] != null) {
//retringue a avanzar solo si hay una [noticia] siguiente
indice++;
//incrementado en uno el indice
cargarDatos(indice);
//recuprando y mostrando los datos y la imagen en la pantalla
}
};
//Función que permite retroceder a la noticia anterior almacenada en el objeto xml
anterior_btn.onPress = function() {
//comprobando si existe una elemento [noticia] anterior
if (noticias_xml.firstChild.childNodes[indice-1] != null) {
//retringue a avanzar solo si hay una [noticia] anterior
indice--;
//reducciendo en uno el indice
cargarDatos(indice);
//recuprando y mostrando los datos y la imagen en la pantalla
}
};
//Inicializaciones
indice = 0;
//inicializando indice en 0 para mostrar la primera noticia
//creando el objeto noticias_xml de typo XML
noticias_xml = new XML();
//Permite que el objeto XML ignore los espacios en blanco entre marca y marca del documento XML
noticias_xml.ignoreWhite = true;
//El método load() permite cargar el documento xml "noticias.xml"
noticias_xml.load("noticias2.php");
//El evento onLoad de activa cuado se haya cargado el documento noticias.xml
noticias_xml.onLoad = function() {
//Se llama a la funcion cragarDatos para mostar la primera noticia (esto por la variable indice en 0)
cargarDatos(indice);
};