Foros del Web » Programando para Internet » Javascript » Frameworks JS »

actualizar variable

Estas en el tema de actualizar variable en el foro de Frameworks JS en Foros del Web. Hola a todos, soy nuevo en el foro y en el tema de jquery,tengo un problema que no se como resolverlo, les cuento... Empeze a ...
  #1 (permalink)  
Antiguo 02/02/2010, 22:17
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
actualizar variable

Hola a todos, soy nuevo en el foro y en el tema de jquery,tengo un problema que no se como resolverlo, les cuento...
Empeze a usar jplayer, espero que lo conoscan es un repro de musica controlado con jquery, el repro de musica carga las canciones desde una variable llamada myPlayList que contiene distintos array que son las canciones(disculpen si me expreso mal no soy bueno en programacion) algo asi
"var myPlayList = [{name:'nombre de la cancion', filename:'ruta del mp3'},{}, {}....]", yo capto el evento click al darle a un artista, cargo las musicas desde un archivo externo, lo que necesito es actualizar esa variable con los nuevos canciones, pero no tengo ni idea como hacerlo, por favor si me pueden ayudar les agradeceria mucho llevo tiempo intentando pero no me doy cuenta como...
Salu2.
  #2 (permalink)  
Antiguo 03/02/2010, 09:21
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: actualizar variable

Cita:
"var myPlayList = [{name:'nombre de la cancion', filename:'ruta del mp3'},{}, {}....]"
Esto es lo que aparece al cargar la pagina? Y no cambia por si mismo?

Habría que ver el contexto en donde está escrita esa variable ( en verdad es una variable que contiene una estructura json . Si, un array ).
  #3 (permalink)  
Antiguo 03/02/2010, 16:44
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: actualizar variable

Hola mayid gracias por responder, yo lo que necesito es cargar la lista dinamicamente, sin recargar la pagina, esta es la direccion del jplayer para que veas donde esta, http://www.happyworm.com/jquery/jplayer/0.2.5/demo-02.htm
yo lo que quiero logarar es algo como esto, mira esta pagina http://doesthismonkeylookfunnytoyou.com
En esa pagina cuando entras te aparece una lista de artistas, tu le das a uno y te aparece los discos de ese artistas, aca viene lo que quiero, tu le das a un disco y se carga dinamicamente la lista, es mas podes limpiar la lista y cargar con otras canciones, bueno espero que me entiendan es mas o menos lo que quiero lograr, cargar la lista dinamicamente salu2 y muchisimas gracias
  #4 (permalink)  
Antiguo 03/02/2010, 17:11
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: actualizar variable

Ahi lo vi. Lo que se me ocurre es que al seleccionar el disco recargues la pagina, y que la variable cambie su contenido consecuentemente, ayudada por PHP. Como vas con PHP?

Esto es lo que se da por parametro a jplayer:
Cita:
var myPlayList = [
{name:"Tempered Song",mp3:"http://www.miaowmusic.com/mp3/Miaow-01-Tempered-song.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-01-Tempered-song.ogg"},
{name:"Hidden",mp3:"http://www.miaowmusic.com/mp3/Miaow-02-Hidden.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-02-Hidden.ogg"},
{name:"Lentement",mp3:"http://www.miaowmusic.com/mp3/Miaow-03-Lentement.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-03-Lentement.ogg"},
{name:"Lismore",mp3:"http://www.miaowmusic.com/mp3/Miaow-04-Lismore.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-04-Lismore.ogg"},
{name:"The Separation",mp3:"http://www.miaowmusic.com/mp3/Miaow-05-The-separation.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-05-The-separation.ogg"},
{name:"Beside Me",mp3:"http://www.miaowmusic.com/mp3/Miaow-06-Beside-me.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-06-Beside-me.ogg"},
{name:"Bubble",mp3:"http://www.miaowmusic.com/mp3/Miaow-07-Bubble.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-07-Bubble.ogg"},
{name:"Stirring of a Fool",mp3:"http://www.miaowmusic.com/mp3/Miaow-08-Stirring-of-a-fool.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-08-Stirring-of-a-fool.ogg"},
{name:"Partir",mp3:"http://www.miaowmusic.com/mp3/Miaow-09-Partir.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-09-Partir.ogg"},
{name:"Thin Ice",mp3:"http://www.miaowmusic.com/mp3/Miaow-10-Thin-ice.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-10-Thin-ice.ogg"}
];
Se puede imprimir eso dinámicamente, con php / json.
  #5 (permalink)  
Antiguo 03/02/2010, 17:14
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: actualizar variable

Cita:
sin recargar la pagina
Una vez que funciona con recarga de pagina, implementas la llamada de jquery / json a un archivo PHP que te genere dinamicamente las listas.

Este codigo es una aproximación:
Cita:
$.getJSON('generador.php',

function(lista) {
var myPlayList = lista;

});
  #6 (permalink)  
Antiguo 03/02/2010, 17:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: actualizar variable

Mmmm si sabes, estube probando cargar los datos de un archivo php, mediante una funcion de javascript es facil recargar ya que cada vez que seleccione un disco llamo a la funcion y cargo los datos, pero la variable myPlayList no me la toma las demas funciones que estan fuera de esa funcion, me da error qe la variable myPlayList no esta definida, y el tema de json eso si no se bien que es :), a otra consulta yo cree un php que me entrega los datos asi,
Cita:
[{name:'nombre de la cancion', filename:'ruta del mp3'},{}, {}....]
, y mediante una funcion deberia cargar los datos mediante get asi:
$.get('pagina.php', function(data){
var myPlayList = data;
});
pero no se no puedo cargar los datos, si me dises otra forma de traer los datos o decirme cual es el error, muchas gracias
  #7 (permalink)  
Antiguo 03/02/2010, 18:10
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: actualizar variable

Eso que escribiste es json:
Cita:
[{name:'nombre de la cancion', filename:'ruta del mp3'},{}, {}....]
json no es mas que una manera de escribir arrays, que sirve para que diferentes lenguajes se comuniquen. En este caso, el jplayer se alimenta de un array json, y el que lo sirve es PHP. Vas bien.

Ahora tendrías que usar una llamada json desde jquery. En vez de $.get usa $.getJSON

Sea como fuere, estas funciones tienen algo llamado "success" que es desde donde tendrías que hacer el llamado a jplayer. Por que? Porque si todo va muy rapido, quizas tu jplayer no esta reconociendo la variable porque el GET no termino aun de ejecutarse! Entonces, para asegurarnos de que si se cargo lo que traemos con el GET, usamos el momento "success" para seguir adelante.

En el caso particular de $.getJSON el momento success se da por sentado con una simple coma. En otros caso se escribe success: y recien ahi se da pie a la función. Fijate:

Cita:
$.getJSON('generador.php',

function(lista) {
var myPlayList = lista;

$("#jquery_jplayer").jPlayer({
......
})

}

);
  #8 (permalink)  
Antiguo 03/02/2010, 18:42
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: actualizar variable

Cita:
Iniciado por Antc1993 Ver Mensaje
$.get('pagina.php', function(data){
var myPlayList = data;
});
variable local :)
fuera de esa función la variable no existe

Código HTML:
<html>
    <head>
        <title>Ejemplo</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
        $( function (){
            var myPlayList = [
            {name:"Tempered Song",mp3:"http://www.miaowmusic.com/mp3/Miaow-01-Tempered-song.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-01-Tempered-song.ogg"},
            {name:"Hidden",mp3:"http://www.miaowmusic.com/mp3/Miaow-02-Hidden.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-02-Hidden.ogg"},
            {name:"Lentement",mp3:"http://www.miaowmusic.com/mp3/Miaow-03-Lentement.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-03-Lentement.ogg"},
            {name:"Lismore",mp3:"http://www.miaowmusic.com/mp3/Miaow-04-Lismore.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-04-Lismore.ogg"},
            {name:"The Separation",mp3:"http://www.miaowmusic.com/mp3/Miaow-05-The-separation.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-05-The-separation.ogg"},
            {name:"Beside Me",mp3:"http://www.miaowmusic.com/mp3/Miaow-06-Beside-me.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-06-Beside-me.ogg"},
            {name:"Bubble",mp3:"http://www.miaowmusic.com/mp3/Miaow-07-Bubble.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-07-Bubble.ogg"},
            {name:"Stirring of a Fool",mp3:"http://www.miaowmusic.com/mp3/Miaow-08-Stirring-of-a-fool.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-08-Stirring-of-a-fool.ogg"},
            {name:"Partir",mp3:"http://www.miaowmusic.com/mp3/Miaow-09-Partir.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-09-Partir.ogg"},
            {name:"Thin Ice",mp3:"http://www.miaowmusic.com/mp3/Miaow-10-Thin-ice.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-10-Thin-ice.ogg"}
            ];

            $('a:last').click( function (){
                $.getJSON('json.txt',
                    function(lista) {
                    myPlayList = lista;
                    $('#tamano').html('Ahora debe tener 2 pistas');
                });
            });

            $('a:first').click( function (){
                $('#tamano').html('Pistas: '+myPlayList.length);
            });
        });

        </script>
    </head>
<body>
    <a href="#">Ver tamaño</a><br /><br />
    <a href="#">Llamar lista</a><br /><br />
    <div id="tamano"></div>
</body>
</html> 
el archivo json.txt
Código HTML:
[
            {name:"Tempered Song",mp3:"http://www.miaowmusic.com/mp3/Miaow-01-Tempered-song.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-01-Tempered-song.ogg"},  
            {name:"Thin Ice",mp3:"http://www.miaowmusic.com/mp3/Miaow-10-Thin-ice.mp3",ogg:"http://www.miaowmusic.com/ogg/Miaow-10-Thin-ice.ogg"}
            ]

Última edición por Dany_s; 03/02/2010 a las 18:48
  #9 (permalink)  
Antiguo 04/02/2010, 10:23
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: actualizar variable

Hola me resolvieron el problema con json, muchisimas gracias, pero tengo un problema, leer el archivo json.txt me lo lee bien pero yo puse un archivo php en localhost, que esta fuera de esa carpeta y no me lo lee, sera que solo lee archivos locales?, a una duda encerrando a todo con $( function (){ las variables se pueden leer en cualquier funcion? claro que este dentro.
Bueno muchas gracias me resolvieron un problemon que hace dias trataba de resolver.
  #10 (permalink)  
Antiguo 04/02/2010, 10:36
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: actualizar variable

si lee json externos, debe estar mal la url

no entendi tu duda de las variables, busca en google sobre alcance de las variables
  #11 (permalink)  
Antiguo 04/02/2010, 12:02
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: actualizar variable

Cita:
$( function (){
Esto no tiene que ver con lo local-global. Sirve para ejecutar codigo en una segunda lectura de la pagina, en vez de en una primera lectura. Es una manera reducida de escribir on document.ready...

Las variables javascript son globales siempre y cuando se declaren fuera de una función y sin escribir var. Por favor chequealo, pero creo que es así.

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:00.