..:: MX Studio Fóruns ::..: abrir noticias num pop up - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

abrir noticias num pop up sistema de noticias

#1 User is offline   f-gos 

  • Group: Membros
  • Posts: 55
  • Joined: 05-April 04

Posted 31 January 2008 - 03:27 PM

pessoal boa tarde!!!

estou usando esse sistema de noticias q busca as noticias de um arquivo XML.

exemplo

mas ao clicar na noticia ele abre a tela grande... gostaria de sabe como faço para ele abrir as noticias dentro de um pop up com o tamanho determinado... pode até ser um pop up do windows mesmo.

outra coisa no flash esta aparecendo o titulo e a noticia toda... como faço para que apareça apenas o título e ai ao clicar .........aparece o pop up com a noticia completa.... con titulo e tudo.


alguem pode me ajudar???



segue a Action pra quem quizer dar uma olhada:
CÓDIGO
//Carregar XML de noticias
noticias = new XML();
noticias.ignoreWhite = true;
noticias.onLoad = function (){

    //Porcentagem  carregadas e essas coisas
    totalxml = noticias.getBytesTotal();
    cargadoxml = noticias.getBytesLoaded();
    porcentajexml = Math.round((cargadoxml/totalxml)*100);

    //Se carregou tudo
    if (porcentajexml >= 100) {
        //apaga o carregando
        removeMovieClip(cargando);
        
        //Nos do XML
        notis_puerto = new Array();
        titulo = new Array();
        urls = new Array();
        
        //Pega o numero de noticias
        long = noticias.firstChild.childNodes.length;
        
        cargarCSS();
    }
}

//Attachamos e posicionamos o "carregando xml"
attachMovie("carga_xml","cargando",2);
cargando._x = 45;
cargando._y = 94;

//Attachamos a linha de baixo de tudo
attachMovie("linea","linea_abajo",5000);
linea_abajo._x = 0;
linea_abajo._y = 329;



//link do  XML
noticias.load("noticias.xml");


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCAO PARA CARREGAR O CSS    -------------------------*/
/*-------------------------------------------------------------------------------*/
function cargarCSS(){
    //Criamos a folha de estilo
    estailo = new TextField.StyleSheet();
    
    //Quando for carregado...
    estailo.onLoad = function(){
        
        //Porcentagem
        totalcss = estailo.getBytesTotal();
        cargadocss = estailo.getBytesLoaded();
        porcentajecss = Math.round((cargadocss/totalcss)*100);
    
        //Se carregou tudo
        if (porcentajecss >= 100) {
            //apaga o carregando
            removeMovieClip(cargando2);
            
            //Uma vez carregado o css ja podemos saber quantas linhas tem em cada texto
                        
            //Criamos um clip e um campo de texto temporario
            _root.createEmptyMovieClip("temp_mc", 7);
            
            //No campo de texto iremos por o mesmo tamahno de largura que vai haver.
            //coloco 16, que e o que mede uma linha. Assim
            //podemos saber o número de linhas que teremos.
            temp_mc.createTextField ("notis_txt",8,-150,-20,168,16);
            
            //as propriedades do campo de texto novo
            temp_mc.notis_txt.multiline = true;
            temp_mc.notis_txt.wordWrap = true;
            temp_mc.notis_txt.html = true;
            
            for (i=0; i<long; i++){
                //pega os titulos das noticias
                titulo[i] = noticias.firstChild.childNodes[i].attributes.titulo;
                
                //pega as urls das noticias
                urls[i] = noticias.firstChild.childNodes[i].attributes.urls;
    
                //pega o texto e colocamos na caixa de texto temporaria
                temp_mc.notis_txt.htmlText = "<p class='tit'>"+titulo[i]+"</p><br><p class='txt'>"+noticias.firstChild.childNodes[i].firstChild+"</p>";
                
                //pegamos o numero de linhas por texto
                notis_puerto[i] = temp_mc.notis_txt.maxscroll-1;
            }
            //Eliminamos o clip temporario
            removeMovieClip(_root["temp_mc"]);
            //Montamos as noticias
            montarNoticias();
        }

    }
    attachMovie("carga_css","cargando2",3);
    cargando2._x = 45;
    cargando2._y = 94;
    estailo.load("noticias.css");
}


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCAO PARA MONTAR AS NOTICIAS    -------------------*/
/*-------------------------------------------------------------------------------*/
function montarNoticias(){
    par = true;
    for (i=0; i<long; i++){
        //ponho a caixa de txt
        _root.attachMovie ("caja_info","caja"+i,i*10);
        //Criamos a cor
        _root["caja"+i].colorcaja = new Color(_root["caja"+i].fondo.fondocolor);
        //damos uma altura igual a 16 pelo numero de linhas que tenha
        _root["caja"+i].fondo._height = 16 * notis_puerto[i];
        
        //Pintamos a caixa
        if (par == true){
            _root["caja"+i].colorcaja.setRGB(0xEEEEEE);
            _root["caja"+i].micolor = "0xEEEEEE";
            par = false;
        }
        else{
            _root["caja"+i].colorcaja.setRGB(0xFFFFFF);
            _root["caja"+i].micolor = "0xFFFFFF";
            par = true;
        }
        
        //Se nao existe altura, damos 0 e assim se posiciona a primera caixa
        //em y=0
        if (altura == undefined){
            altura = 0;
        }
        //Se existe, damos uma altura igual, a:
        //"altura acumulada" = "altura acumulada" + "altura anterior clip"
        else{
            altura = altura + _root["caja"+(i-1)].fondo._height;
        }
        
        //Posicionamos a caixa
        _root["caja"+i]._x = 0;
        _root["caja"+i]._y = altura;
        
        //Criamos a caixa de texto e colocamos suas propriedades
        _root["caja"+i].createTextField("texto_txt",i*37,2,1,168,16 * notis_puerto[i]);
        _root["caja"+i].texto_txt.html = true;
        _root["caja"+i].texto_txt.multiline = true;
        _root["caja"+i].texto_txt.wordWrap = true;
        _root["caja"+i].texto_txt.border = false;
        _root["caja"+i].texto_txt.selectable = false;
        _root["caja"+i].direc_url = urls[i];
        
        //Atachamos ao texto a folha CSS
        _root["caja"+i].texto_txt.styleSheet = estailo;
        
        //colocamos o titulo
        _root["caja"+i].texto_txt.htmlText = "<p class='tit'>"+titulo[i]+"</p><br>";

        //colocamos o texto da noticia
        _root["caja"+i].texto_txt.htmlText += "<p class='txt'>"+noticias.firstChild.childNodes[i].firstChild+"</p>";
    }
    
    attachMovie("pestana","pestanita",2000);
    pestanita._x = 0;
    pestanita._y = 0;
    
    siguiente_y = 0;
    y_arriba = 0;
    
    //Posicionamos todos os clips por debaixo de 330 sobre 0
    
    for (i=long; i>0; i--){
        if (_root["caja"+i]._y > 330){
            siguiente_y = siguiente_y - _root["caja"+i]._height + 1;
            _root["caja"+i]._y = siguiente_y;
        }
    }
    
    //Uma vez q esta todo montado movemos as noticias
    moverNoticias();
}

/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCAO PARA MOVER AS NOTICIAS    --------------------*/
/*-------------------------------------------------------------------------------*/
function moverNoticias(){
    //Se e a primera vez forçamos o movimento, se nao comecam paradas as caixas
    if (primera_vez == undefined){
        //Criamos o evento e começam a mover as caixas
        _root.onEnterFrame = function(){
            
            for (i=0; i<long; i++){
                //Se a caixa chega a abaixo de tudo
                if (_root["caja"+i]._y > 330){
                    y_arriba = 0;
                    
                    //Calculamos onde que posicionaremos o clip que chega abaixo
                    for (j=0; j<long; j++){
                        //Todos os clips que estejam por cima de 0
                        if (_root["caja"+j]._y < 0){
                            //pegamos a posicao e o que ha mais acima
                            y_actual = _root["caja"+j]._y;
                            if (y_actual < y_arriba){
                                y_arriba = y_actual;
                            }
                        }
                    }
                    //posicionamos acima, sendo esta posicao:
                    //"y do clip atual" = "posicao do clip de mais abaixo" - "altura do clip atual" + 1;
                    _root["caja"+i]._y = y_arriba - _root["caja"+i]._height + 1;
                }
                //fazemos que vao baixando as caixas
                _root["caja"+i]._y += 1;
            }
        }
        primera_vez = false;
    }
    /***************************************************************************/
    
    
    //"el_fondo" controla a cada fotograma se estamos ou nao em cima das noticias
    el_fondo.onEnterFrame = function(){
        for (i=0; i<long; i++){
            //Se clicamos na caixa, vamos na direcao "x"
            _root["caja"+i].onPress = function(){
                getURL (this.direc_url, "_blank");
            }
            //Se apontamos em cima da caixa, eliminamos o evento e para
            _root["caja"+i].onRollOver = function(){
                //Iluminar
                this.colorcaja.setRGB(0xCDFBFE);
                delete _root.onEnterFrame;
            }
            //Se nos saimos das caixas, começaa a mover outra vez
            _root["caja"+i].onRollOut = function(){
                //Pintamos a caixa com a cor anterior
                this.colorcaja.setRGB(this.micolor);
                
                //Criamos o evento e comeca a mover as caixas
                _root.onEnterFrame = function(){
                    
                    for (i=0; i<long; i++){
                        //Se a caixa chega abaixo de tudo
                        if (_root["caja"+i]._y > 330){
                            y_arriba = 0;
                            
                            //Calculamos onde sera que ira posicionar o clip que chega abaixo
                            for (j=0; j<long; j++){
                                //Todos os clips que estejam por cima de 0
                                if (_root["caja"+j]._y < 0){
                                    //pegamos a posicao e o que ha mais acima
                                    y_actual = _root["caja"+j]._y;
                                    if (y_actual < y_arriba){
                                        y_arriba = y_actual;
                                    }
                                }
                            }
                            // posicionamos acima, sendo esta posicao:
                            //"y do clip atual" = "posicao do clip de mais acima" - "altura do clip atual" + 1;
                            _root["caja"+i]._y = y_arriba - _root["caja"+i]._height + 1;
                        }
                        //Fazemos que vao baixando as caixas
                        _root["caja"+i]._y += 1;
                    }
                }
            }
        }
    }
}

0

#2 User is offline   f-gos 

  • Group: Membros
  • Posts: 55
  • Joined: 05-April 04

Posted 31 January 2008 - 05:29 PM

QUOTE(f-gos @ 31/1/2008 15:01:00) <{POST_SNAPBACK}>
pessoal boa tarde!!!

estou usando esse sistema de noticias q busca as noticias de um arquivo XML.

exemplo

mas ao clicar na noticia ele abre a tela grande... gostaria de sabe como faço para ele abrir as noticias dentro de um pop up com o tamanho determinado... pode até ser um pop up do windows mesmo.

outra coisa no flash esta aparecendo o titulo e a noticia toda... como faço para que apareça apenas o título e ai ao clicar .........aparece o pop up com a noticia completa.... con titulo e tudo.


alguem pode me ajudar???



segue a Action pra quem quizer dar uma olhada:
CÓDIGO
//Carregar XML de noticias
noticias = new XML();
noticias.ignoreWhite = true;
noticias.onLoad = function (){

    //Porcentagem  carregadas e essas coisas
    totalxml = noticias.getBytesTotal();
    cargadoxml = noticias.getBytesLoaded();
    porcentajexml = Math.round((cargadoxml/totalxml)*100);

    //Se carregou tudo
    if (porcentajexml >= 100) {
        //apaga o carregando
        removeMovieClip(cargando);
        
        //Nos do XML
        notis_puerto = new Array();
        titulo = new Array();
        urls = new Array();
        
        //Pega o numero de noticias
        long = noticias.firstChild.childNodes.length;
        
        cargarCSS();
    }
}

//Attachamos e posicionamos o "carregando xml"
attachMovie("carga_xml","cargando",2);
cargando._x = 45;
cargando._y = 94;

//Attachamos a linha de baixo de tudo
attachMovie("linea","linea_abajo",5000);
linea_abajo._x = 0;
linea_abajo._y = 329;



//link do  XML
noticias.load("noticias.xml");


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCAO PARA CARREGAR O CSS    -------------------------*/
/*-------------------------------------------------------------------------------*/
function cargarCSS(){
    //Criamos a folha de estilo
    estailo = new TextField.StyleSheet();
    
    //Quando for carregado...
    estailo.onLoad = function(){
        
        //Porcentagem
        totalcss = estailo.getBytesTotal();
        cargadocss = estailo.getBytesLoaded();
        porcentajecss = Math.round((cargadocss/totalcss)*100);
    
        //Se carregou tudo
        if (porcentajecss >= 100) {
            //apaga o carregando
            removeMovieClip(cargando2);
            
            //Uma vez carregado o css ja podemos saber quantas linhas tem em cada texto
                        
            //Criamos um clip e um campo de texto temporario
            _root.createEmptyMovieClip("temp_mc", 7);
            
            //No campo de texto iremos por o mesmo tamahno de largura que vai haver.
            //coloco 16, que e o que mede uma linha. Assim
            //podemos saber o número de linhas que teremos.
            temp_mc.createTextField ("notis_txt",8,-150,-20,168,16);
            
            //as propriedades do campo de texto novo
            temp_mc.notis_txt.multiline = true;
            temp_mc.notis_txt.wordWrap = true;
            temp_mc.notis_txt.html = true;
            
            for (i=0; i<long; i++){
                //pega os titulos das noticias
                titulo[i] = noticias.firstChild.childNodes[i].attributes.titulo;
                
                //pega as urls das noticias
                urls[i] = noticias.firstChild.childNodes[i].attributes.urls;
    
                //pega o texto e colocamos na caixa de texto temporaria
                temp_mc.notis_txt.htmlText = "<p class='tit'>"+titulo[i]+"</p><br><p class='txt'>"+noticias.firstChild.childNodes[i].firstChild+"</p>";
                
                //pegamos o numero de linhas por texto
                notis_puerto[i] = temp_mc.notis_txt.maxscroll-1;
            }
            //Eliminamos o clip temporario
            removeMovieClip(_root["temp_mc"]);
            //Montamos as noticias
            montarNoticias();
        }

    }
    attachMovie("carga_css","cargando2",3);
    cargando2._x = 45;
    cargando2._y = 94;
    estailo.load("noticias.css");
}


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCAO PARA MONTAR AS NOTICIAS    -------------------*/
/*-------------------------------------------------------------------------------*/
function montarNoticias(){
    par = true;
    for (i=0; i<long; i++){
        //ponho a caixa de txt
        _root.attachMovie ("caja_info","caja"+i,i*10);
        //Criamos a cor
        _root["caja"+i].colorcaja = new Color(_root["caja"+i].fondo.fondocolor);
        //damos uma altura igual a 16 pelo numero de linhas que tenha
        _root["caja"+i].fondo._height = 16 * notis_puerto[i];
        
        //Pintamos a caixa
        if (par == true){
            _root["caja"+i].colorcaja.setRGB(0xEEEEEE);
            _root["caja"+i].micolor = "0xEEEEEE";
            par = false;
        }
        else{
            _root["caja"+i].colorcaja.setRGB(0xFFFFFF);
            _root["caja"+i].micolor = "0xFFFFFF";
            par = true;
        }
        
        //Se nao existe altura, damos 0 e assim se posiciona a primera caixa
        //em y=0
        if (altura == undefined){
            altura = 0;
        }
        //Se existe, damos uma altura igual, a:
        //"altura acumulada" = "altura acumulada" + "altura anterior clip"
        else{
            altura = altura + _root["caja"+(i-1)].fondo._height;
        }
        
        //Posicionamos a caixa
        _root["caja"+i]._x = 0;
        _root["caja"+i]._y = altura;
        
        //Criamos a caixa de texto e colocamos suas propriedades
        _root["caja"+i].createTextField("texto_txt",i*37,2,1,168,16 * notis_puerto[i]);
        _root["caja"+i].texto_txt.html = true;
        _root["caja"+i].texto_txt.multiline = true;
        _root["caja"+i].texto_txt.wordWrap = true;
        _root["caja"+i].texto_txt.border = false;
        _root["caja"+i].texto_txt.selectable = false;
        _root["caja"+i].direc_url = urls[i];
        
        //Atachamos ao texto a folha CSS
        _root["caja"+i].texto_txt.styleSheet = estailo;
        
        //colocamos o titulo
        _root["caja"+i].texto_txt.htmlText = "<p class='tit'>"+titulo[i]+"</p><br>";

        //colocamos o texto da noticia
        _root["caja"+i].texto_txt.htmlText += "<p class='txt'>"+noticias.firstChild.childNodes[i].firstChild+"</p>";
    }
    
    attachMovie("pestana","pestanita",2000);
    pestanita._x = 0;
    pestanita._y = 0;
    
    siguiente_y = 0;
    y_arriba = 0;
    
    //Posicionamos todos os clips por debaixo de 330 sobre 0
    
    for (i=long; i>0; i--){
        if (_root["caja"+i]._y > 330){
            siguiente_y = siguiente_y - _root["caja"+i]._height + 1;
            _root["caja"+i]._y = siguiente_y;
        }
    }
    
    //Uma vez q esta todo montado movemos as noticias
    moverNoticias();
}

/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCAO PARA MOVER AS NOTICIAS    --------------------*/
/*-------------------------------------------------------------------------------*/
function moverNoticias(){
    //Se e a primera vez forçamos o movimento, se nao comecam paradas as caixas
    if (primera_vez == undefined){
        //Criamos o evento e começam a mover as caixas
        _root.onEnterFrame = function(){
            
            for (i=0; i<long; i++){
                //Se a caixa chega a abaixo de tudo
                if (_root["caja"+i]._y > 330){
                    y_arriba = 0;
                    
                    //Calculamos onde que posicionaremos o clip que chega abaixo
                    for (j=0; j<long; j++){
                        //Todos os clips que estejam por cima de 0
                        if (_root["caja"+j]._y < 0){
                            //pegamos a posicao e o que ha mais acima
                            y_actual = _root["caja"+j]._y;
                            if (y_actual < y_arriba){
                                y_arriba = y_actual;
                            }
                        }
                    }
                    //posicionamos acima, sendo esta posicao:
                    //"y do clip atual" = "posicao do clip de mais abaixo" - "altura do clip atual" + 1;
                    _root["caja"+i]._y = y_arriba - _root["caja"+i]._height + 1;
                }
                //fazemos que vao baixando as caixas
                _root["caja"+i]._y += 1;
            }
        }
        primera_vez = false;
    }
    /***************************************************************************/
    
    
    //"el_fondo" controla a cada fotograma se estamos ou nao em cima das noticias
    el_fondo.onEnterFrame = function(){
        for (i=0; i<long; i++){
            //Se clicamos na caixa, vamos na direcao "x"
            _root["caja"+i].onPress = function(){
                getURL (this.direc_url, "_blank");
            }
            //Se apontamos em cima da caixa, eliminamos o evento e para
            _root["caja"+i].onRollOver = function(){
                //Iluminar
                this.colorcaja.setRGB(0xCDFBFE);
                delete _root.onEnterFrame;
            }
            //Se nos saimos das caixas, começaa a mover outra vez
            _root["caja"+i].onRollOut = function(){
                //Pintamos a caixa com a cor anterior
                this.colorcaja.setRGB(this.micolor);
                
                //Criamos o evento e comeca a mover as caixas
                _root.onEnterFrame = function(){
                    
                    for (i=0; i<long; i++){
                        //Se a caixa chega abaixo de tudo
                        if (_root["caja"+i]._y > 330){
                            y_arriba = 0;
                            
                            //Calculamos onde sera que ira posicionar o clip que chega abaixo
                            for (j=0; j<long; j++){
                                //Todos os clips que estejam por cima de 0
                                if (_root["caja"+j]._y < 0){
                                    //pegamos a posicao e o que ha mais acima
                                    y_actual = _root["caja"+j]._y;
                                    if (y_actual < y_arriba){
                                        y_arriba = y_actual;
                                    }
                                }
                            }
                            // posicionamos acima, sendo esta posicao:
                            //"y do clip atual" = "posicao do clip de mais acima" - "altura do clip atual" + 1;
                            _root["caja"+i]._y = y_arriba - _root["caja"+i]._height + 1;
                        }
                        //Fazemos que vao baixando as caixas
                        _root["caja"+i]._y += 1;
                    }
                }
            }
        }
    }
}

pessoal postei o código pra facilitar.

0

#3 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 31 January 2008 - 09:16 PM

Em relação ao seu popup:
http://www.mxstudio.com.br/forum/index.php?showtopic=53066

Para puxar somente o nome do seu XML você vai precisar criar um novo nó que tenha somente o nome, e ai você puxa ele.

Para abrir a noticia selecionada em um popup você vai precisar de integração com php para poder passar variáveis do flash para a página html que abrirá no popup.

Ai acho que é mais complicado.

Abração !
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)